Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/30: Рейтинг темы: голосов - 30, средняя оценка - 4.70
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532

AJAX запрос. Почему срабатывает функция ошибки?

04.06.2013, 19:48. Показов 6498. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть код
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$('#button_save').click(function()
    {
        
        var text = $('#text').val();
        $.ajax({type:"POST", dataType:"json", url:"articlejs.php", data:{text:text,a:a}, success: function (data)
        {
        
         $('#text').val('');
        alert(data);
        }, error: function(XMLHttpRequest, textStatus, errorThrown)
        {
            $('#text').val('ERROR'+ XMLHttpRequest +" "+ errorThrown)
            alert(textStatus);},
        });
        
    });
Но по странным причинам срабатывает функция ошибки хотя сам запрос успешно передается(я уверен в это, потому что происходит запись в базу данных)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.06.2013, 19:48
Ответы с готовыми решениями:

Почему не срабатывает Ajax запрос?
Добрый день! Не пойму почему не срабатыват запрос... <form method="POST" action="/mails_sender.php" id="feedback"...

Не срабатывает ajax запрос
По нажатию на кнопку нужно обновить содержимое блока: <div onClick="taskreload({Переменная}); return false;"...

не срабатывает Ajax запрос
Пытаюсь сделать следущее: с помощю PHP взять некую информацию с сайта. Т.е. есть поле ввода, ввожу туда название сайта, после получаю...

17
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
04.06.2013, 20:30
ну так может в самом articlejs.php какие-то ошибки? в результате ответ не приходит от сервера и ajax обрбатывает запрос как ошибку.
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 20:36  [ТС]
Цитата Сообщение от Donald28 Посмотреть сообщение
ну так может в самом articlejs.php какие-то ошибки? в результате ответ не приходит от сервера и ajax обрбатывает запрос как ошибку.
Сервер отвечает
PHP
1
echo "{\"rez\": \"Успешно\"}";
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
04.06.2013, 20:39
посмотрите через хром ответ сервера: правой клавишей "просмотреть код элемента" и далее вкладка Network, после это сделайте действие которое вызывает ваш ajax запрос

и если вы отправляете в формате json, то надо получать его так:
JavaScript
1
alert(data.rez);
1
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 20:44  [ТС]
Цитата Сообщение от Donald28 Посмотреть сообщение
посмотрите через хром ответ сервера: правой клавишей "просмотреть код элемента" и далее вкладка Network, после это сделайте действие которое вызывает ваш ajax запрос
посмотрел



Что странно что type text/html
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
04.06.2013, 20:46
ну все пришло. значит должно работать. Что пишется в алерте?
1
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 20:48  [ТС]
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$('#button_save').click(function()
    {
        
        var text = $('#text').val();
        $.ajax({type:"POST", dataType:"json", url:"articlejs.php", data:{text:text,a:a}, success: function (data)
        {
        
         $('#text').val('');
        alert(data.rez);
        }, error: function(XMLHttpRequest, textStatus, errorThrown)
        {
            $('#text').val('ERROR'+ XMLHttpRequest +" "+ errorThrown)
            alert(textStatus);},
        });
        
    });
сделал как Вы сказали но функция ошибки по прежнему срабатывает
0
странник
 Аватар для Donald28
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
04.06.2013, 20:53
Что пишется в алерте?

и также посмотрите через браузер что пришло от сервера (кликните по articlejs.php)
1
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 21:01  [ТС]
Цитата Сообщение от Donald28 Посмотреть сообщение
Что пишется в алерте?
Алерт "ошибки"


Цитата Сообщение от Donald28 Посмотреть сообщение
и также посмотрите через браузер что пришло от сервера (кликните по articlejs.php)
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
04.06.2013, 21:19
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$('#button_save').click(function()
    {
        
        var text = $('#text').val();
        $.ajax({type:"POST", dataType:"json", url:"articlejs.php", data:{text:text,a:a}, success: function (data)
        {
        
         $('#text').val('');
        alert(data.rez);
        }, error: function(XMLHttpRequest, textStatus, errorThrown)
        {
            $('#text').val('ERROR'+ XMLHttpRequest +" "+ errorThrown)
            alert(textStatus);},
        });
        
    });
В строке 5 - что за а? Выдаёт синтаксическую ошибку и не число и не строка
JavaScript
1
$('#text').val('ERROR'+ XMLHttpRequest +" "+ errorThrown)
XMLHttpRequest - это объект, зачем помещать его val ?

Если
PHP
1
2
3
<?php
$res['rez']="успешно";
echo json_encode($res);?>
Всё работает.
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 21:22  [ТС]
Цитата Сообщение от Soldado Посмотреть сообщение
В строке 5 - что за а?
JavaScript
1
var a = location.search;
Цитата Сообщение от Soldado Посмотреть сообщение
XMLHttpRequest - это объект, зачем помещать его val ?
Просто такЯ же только учусь
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
04.06.2013, 21:27
Почему не делаете как Вам говорят, а упорно гнёте свою линию
Делайте вот так
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<html>
  <head>
    <title>ajaxError</title>
    
<meta http-equiv="Content-Type" content="text/html; charset=windows-utf-8" />    
 
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
 
   $('#button_save').click(function()
    {
        
        var text = $('#text').val();
        $.ajax({type:"POST", dataType:"json", url:"articlejs.php", data:{text:text,a:'a'}, success: function (data)
        {
        
         $('#text').val('');
        alert(data.rez);
        }, error: function(XMLHttpRequest, textStatus, errorThrown)
        {
            $('#text').val('ERROR = '+ errorThrown);
            alert(textStatus);
            }
        });
        
    });
 
});/*end  ready*/
</script>
    
  </head>
  <body >
 <input type="text" id="text" size="40" value="748" >
<input type="button" value="Отправка" id="button_save">
 
 
  </body>
</html>
articlejs.php
PHP
1
2
3
<?php
$res['rez']="успешно";
echo json_encode($res);?>
1
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 21:42  [ТС]
Цитата Сообщение от Soldado Посмотреть сообщение
data:{text:text,a:'a'}
Зачем a в кавычках???

Добавлено через 3 минуты
Цитата Сообщение от Soldado Посмотреть сообщение
Почему не делаете как Вам говорят, а упорно гнёте свою линию
А Вы объясните где ошибка в моем коде, а потом уже предлагайте свой. Моя ошибка мне более интересна. Тем более что у Вас то же скорее всего ошибка

Цитата Сообщение от Soldado Посмотреть сообщение
JavaScript
1
alert(data.rez);
Не работает
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
04.06.2013, 21:43
В том коде, что Вы выложили, нет изначально
JavaScript
1
var a = location.search;
Чтобы небыло ошибки я передаю букву 'a' - это, в данном случае не суть важно, данные всё равно не обрабатываются в articlejs.php
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 21:46  [ТС]
Цитата Сообщение от Soldado Посмотреть сообщение
В том коде, что Вы выложили, нет изначально
Просто думал что это не столь важно

Цитата Сообщение от Soldado Посмотреть сообщение
данные всё равно не обрабатываются в articlejs.php
Они обрабатываются и записываются в базу данных на сервере(articlejs.php я тоже не весь код выложил) только вот что то с ajaxом наверно
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
04.06.2013, 22:00
alert(data.rez);
Цитата Сообщение от SanychBY Посмотреть сообщение
Не работает
Работает
Перейдите по ссылке
в примере PHP такой
PHP
1
2
3
<?php
$res['rez']="успешно";
echo json_encode($res);?>
Вот тоже самое, но PHP уже такой:
PHP
1
2
<?php
echo "{\"rez\": \"Успешно\"}";?>

Цитата Сообщение от SanychBY Посмотреть сообщение
А Вы объясните где ошибка в моем коде,
Так объяснили вроде
1
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 22:42  [ТС]
И вы хотите сказать что проблемы из за ответа сервера?

Добавлено через 11 минут
Цитата Сообщение от Soldado Посмотреть сообщение
Вот тоже самое, но PHP уже такой:
Код PHP
1
2
<?php
echo "{\"rez\": \"Успешно\"}";?>
если PHP такое то нужно добавить обработчик который разберет строку JSON например JSON.parse()
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
05.06.2013, 23:55  [ТС]
Вот весь PHP. МОжет это как то поможет
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
header('content-type: application/x-javascript; charset=utf-8');
if (((isset($_COOKIE['email']) and isset($_COOKIE['password'])) or (isset($_SESSION['password']) and isset($_SESSION['email']))) and isset($_POST['a']))
{
include("baza/baza1.php");
$q=$_POST['a'];
$a = strlen($q);
$b = $a -3;
$qsu = substr($q, -$b, $b);
$emailc = $_COOKIE['email'];
$passwordc=$_COOKIE['password'];
$emails = $_SESSION['email'];
$passwords = $_SESSION['password'];
$rezult = mysql_query("SELECT id FROM noteusers WHERE email='$emailc' AND password='$passwordc' OR email='$emails' AND password='$passwords'",$db);
$myrow = mysql_fetch_array($rezult);
$id = $myrow['id'];
//добавить коментрий 
if (isset($_POST['text']) and isset($_POST['a']))
{
$text=$_POST['text'];
$rezultatv = mysql_query("INSERT INTO commentsartcles (autor,articleid,text) VALUES ('$id',$qsu,'$text')");
echo json_encode(array('rez'=>'done'));
 
exit();
 
}
//голосовать за стаью
if (isset($_POST['param']))
{
$param=$_POST['param'];
$rezultat = mysql_query("INSERT INTO votearticles (articlesid,user,vote) VALUES ($qsu,'$id','$param')");
}
}
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.06.2013, 23:55
Помогаю со студенческими работами здесь

Ajax: почему не срабатывает состояние success?
Приветствую всех! Помогите понять почему не срабатывает состояние success! Есть код // ClearForm function clearForm(form)...

Почему не срабатывает функция
у меня в одном файле на удаление много много функция.. одна из них должна удалять собщения функция del_send($id) но почемуто не...

Почему не срабатывает функция .next()?
Всем привет, помогите понять, чего не срабатывает жКверивская функция .next() window.setPercents = function() { ...

Почему не срабатывает функция TRIM?
Добрый день! Есть запрос, в котором происходит запись в курсор айдишника(work_id) и значения объединения трех полей (fio). Каждое значение...

Почему не срабатывает SQL запрос в VBA?
Уже второй час сижу с ним - не могу понять проблемы. Смотрите: var = Me.ИД_Пользователя Set rst =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru