成功回调

时间:2012-03-03 21:17:37

标签: jquery

我正在使用像这样的ajax帖子......

$(document).on("click",".Resend",function() {

    $.ajax({
        type: "POST",
        url: "file.php",
        timeout: 3000,
        data: dataString,
        cache: false,
        success: function(myhtml){
            // If success
            if (myhtml == "success") {
                    alert(myhtml);
            } else {
                    alert("No");
            }
        }
    });
});

例如,回调的PHP / HTML很简单......

<?php
    echo "success";
?>

由于一些奇怪的原因,我得到错误的回复警报=否。有人可以向我解释为什么会发生这种情况吗?

3 个答案:

答案 0 :(得分:3)

假设您要发布的页面存在,则响应的内容可能包含一些空白区域;因此,字符串比较会失败。

你可以试试这个:

if ($.trim(myhtml) == 'success') {
  alert(myhtml)
}

答案 1 :(得分:0)

我在这里回答了类似的问题:Unable to compare two Strings in javascript

我想你可能会遇到同样的问题。

尝试在成功回调中执行类似的操作,并查看响应文本的样子:

alert('"' + myhtml + '"');

我怀疑你的回复中有前导空格或尾随空格。如果在启动php之前或结束标记之后有空格,可能会发生这种情况。

答案 2 :(得分:0)

JSON响应格式可以避免使用纯文本这种恼人的问题。