jquery:if语句不起作用

时间:2014-10-06 13:49:58

标签: javascript jquery ajax if-statement

以下代码非常简单。基本上,如果变量" ret"返回一个值,如果值为"则失败"它应该发布警报:"触发2"。但问题是IF语句。它触发警报:"触发1"当条件语句出现时,它会跳过它。

我想知道我做错了什么。谢谢。

$(function() {
    var body = $(document).find("body");    
    body.on("submit", "#form-user-profile", function (e) {
        var data = $(this).serialize();
        var url  = $(this).attr("action");
        $.post(url, data, function(ret) {
            alert("Trigger 1"); //  Triggers alert
            if (ret == "fail") {
                alert("Trigger 2"); //  does not trigger alert
            }
        });
        return false;
    });
});

2 个答案:

答案 0 :(得分:1)

如果响应实际上是fail,则问题很可能是响应周围的一些空白,导致if语句评估为false。这可以通过修改响应来解决:

if ($.trim(ret) == "fail") {

答案 1 :(得分:1)

如果代码实际上正在运行,您应该可以使用Chrome或Firefox开发工具查看帖子URL中的响应标头。这应该会给你实际的响应,并帮助你调试答案,我想它只是返回一些接近你所拥有的东西,但不完全是你拥有的东西。