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

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

04.06.2013, 19:48. Показов 6547. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru