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

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

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

Author24 — интернет-сервис помощи студентам
Здравствуйте. Есть код
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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2013, 19:48
Ответы с готовыми решениями:

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

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

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

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

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

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

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


Что странно что type text/html
0
странник
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
04.06.2013, 20:46 6
ну все пришло. значит должно работать. Что пишется в алерте?
1
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 20:48  [ТС] 7
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
странник
810 / 481 / 108
Регистрация: 28.05.2012
Сообщений: 1,518
Записей в блоге: 2
04.06.2013, 20:53 8
Что пишется в алерте?

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


Цитата Сообщение от Donald28 Посмотреть сообщение
и также посмотрите через браузер что пришло от сервера (кликните по articlejs.php)
AJAX запрос. Почему срабатывает функция ошибки?
0
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
04.06.2013, 21:19 10
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
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 21:22  [ТС] 11
Цитата Сообщение от Soldado Посмотреть сообщение
В строке 5 - что за а?
Javascript
1
var a = location.search;
Цитата Сообщение от Soldado Посмотреть сообщение
XMLHttpRequest - это объект, зачем помещать его val ?
Просто такЯ же только учусь
0
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
04.06.2013, 21:27 12
Почему не делаете как Вам говорят, а упорно гнёте свою линию
Делайте вот так
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
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 21:42  [ТС] 13
Цитата Сообщение от Soldado Посмотреть сообщение
data:{text:text,a:'a'}
Зачем a в кавычках???

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

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

Цитата Сообщение от Soldado Посмотреть сообщение
данные всё равно не обрабатываются в articlejs.php
Они обрабатываются и записываются в базу данных на сервере(articlejs.php я тоже не весь код выложил) только вот что то с ajaxом наверно
0
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
04.06.2013, 22:00 16
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
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
04.06.2013, 22:42  [ТС] 17
И вы хотите сказать что проблемы из за ответа сервера?

Добавлено через 11 минут
Цитата Сообщение от Soldado Посмотреть сообщение
Вот тоже самое, но PHP уже такой:
Код PHP
1
2
<?php
echo "{\"rez\": \"Успешно\"}";?>
если PHP такое то нужно добавить обработчик который разберет строку JSON например JSON.parse()
0
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
05.06.2013, 23:55  [ТС] 18
Вот весь 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
05.06.2013, 23:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2013, 23:55
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru