2009-08-10 109 views
3

有几个问题,首先在下面的这个var字符串中,第一个可以工作,但我需要第二个工作,有一个snytax错误,因为我不知道如何写它简单的jquery ajax错误响应

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(); 
    } 

回答

9

你缺少一个连接符和符号,我也不会用“字符串”作为变量名:

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

这就是说,“串”不是JS reserved word,但似乎仍然是不好的做法(至少对我来说)。

你所传递的“弦”变量$阿贾克斯是一个查询字符串,我建议阅读本以获取更多信息:

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

,看起来像它的工作完美,我送1个错误权现在虽然缺少}属性列表后,这里是什么是错误=}); – JasonDavis 2009-08-11 00:07:13

+0

@jasondavis - 成功封锁没有正确关闭 - 我编辑过了,请再试一次。 – karim79 2009-08-11 00:14:38

+0

现在明白了,谢谢! – JasonDavis 2009-08-11 00:17:28

0

对于第二个问题,你的意思是在服务器端代码中的HTTP错误或错误?

如果你的意思是一个HTTP错误,就像“成功”有一个“错误”,它可以被称为

请参阅该文档here

+0

我的意思是我自己的错误,就像一个用户在x时间内发布了很多评论一样,我想将一个错误代码发回jquery到浏览器来显示一条消息,而不是返回成功 – JasonDavis 2009-08-10 23:41:59