Ajax成功if语句

时间:2012-09-26 18:26:34

标签: javascript jquery ajax

当用户点击删除按钮时,代码会向服务器发送请求,先从数据库中删除该用户,然后再从屏幕上的表格列表中删除。

我的问题是没有ajax成功的if else语句会返回我想要的内容。

我无法将此代码添加到小提琴手,因为它链接到无法在线访问的数据库。

$(nTd).children('a').click(function(e) {
    e.preventDefault();
    var that = $(this);
    if(that.hasClass('icon-i-remove')){
       $.ajax({
          url: $(this).attr('href'),
          type: $(this).attr('method'),
          dataType: 'json',
          success: function (data) {
            //PROBLEM HERE **********
            if(data.success == 'true' ){
               alert('true');
            } else {
               alert('false')
            };
       ;}
   });

所以,2个主要问题。 if语句无法正确运行。即使它返回true,服务器也会跳到其他地方而不关心它。

第二个问题是这个。 当用户单击“删除”按钮时,代码应首先检查用户是否已在数据库中删除。如果我从数据库中获得了ok,那么我可以从表列表中删除该行而不刷新页面,否则我应该显示错误消息(false return)

就我而言,当我点击删除时,代码会向服务器发送请求,而不关心结果是什么。

我需要在执行客户端删除之前等待代码。我需要知道该用户是否已从数据库中删除。 我觉得很难管理if语句。看起来它并没有从后端看到结果。

无论是真是假,都会跳过任何一种方式。出了什么问题?

2 个答案:

答案 0 :(得分:3)

它实际上正在返回'true'吗?还是回归true?两件不同的事情

<强>更新

$(nTd).children('a').click(function(e) {
    e.preventDefault();
    var that = $(this);
    if(that.hasClass('icon-i-remove')){
       $.ajax({
          url: $(this).attr('href'),
          type: $(this).attr('method'),
          dataType: 'json',
          success: function (data) {
            //PROBLEM HERE **********
            if(data.success == true ){   <-- Change to true (remove quotes)
               alert('true');
            } else {
               alert('false')
            };
       ;}
   });

答案 1 :(得分:0)

如果您的ajax成功回调正在执行..这意味着服务器端操作已完成SUCCESFULLY。

如果没有,那么服务器不应该发送一个将被解释为成功的200