Простой JQuery AJAX ответ на ошибку - PullRequest
3 голосов
/ 11 августа 2009

Пара вопросов, первый с этой строкой var ниже, 1 работает, но мне нужно, чтобы второй работал, есть ошибка snytax, потому что я не уверен, как это написать

var string = 'id='+ id ;
var string = 'id='+ id 'USER=1';

Во-вторых, Этот ajax-вызов ниже, он публикует в delete.php, чтобы удалить комментарий, он работает, но я хотел бы добавить некоторые обработки ошибок. Как добавить его в бэкэнд, как я могу показать ошибку в jquery?

$.ajax({
   type: "POST",
   url: "delete.php",
   data: string,
   cache: false,
   success: function(){
    commentContainer.slideUp('slow', function() {$(this).remove();});
    $('#load').fadeOut();
  }

Ответы [ 2 ]

9 голосов
/ 11 августа 2009

Вам не хватает оператора конкатенации и амперсанда, также я бы не использовал 'string' в качестве имени переменной:

var str = 'id='+ id + '&USER=1';

Тем не менее, 'string' не является JS зарезервированным словом , но все равно кажется плохой практикой (по крайней мере мне).

То, что вы передаете в переменной 'string' в $ .ajax, является строкой запроса, я бы посоветовал прочитать ее для получения дополнительной информации:

http://en.wikipedia.org/wiki/Query_string

На ваш вопрос об обработке ошибок, один из способов - проверить текст ответа на что-то и действовать соответственно, например ::

$.ajax({
   type: "POST",
   url: "delete.php",
   data: string,
   cache: false,
   success: function(resp){
    if(resp == 'error') { //get PHP to echo the string 'error' if something bad happened
        alert('There was an error!');
    } else {
        commentContainer.slideUp('slow', function() {
            $(this).remove();
        });
        $('#load').fadeOut();   
    }
   }
  });
0 голосов
/ 11 августа 2009

Что касается второго вопроса, вы имеете в виду ошибку HTTP или ошибку в коде на стороне сервера?

Если вы имеете в виду ошибку HTTP, точно так же, как и «успех», есть «ошибка», которую можно назвать

См. Документы здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...