0

我有这段代码:

function addEmail() {
            email = $("#email").val();
            atime = $("select#time").val();
            tid = <?= $tid; ?>;
            $.post("remindme.php", { email: email, time: atime, tid: tid },
                function(data) {
                    if (data == "x") {
                        alert(data);
                        $('#remindme').modal('hide');
                        $('#quota').show();
                    }
                    else {
                        alert(data);
                        $('#remindme').modal('hide');
                        $('#remindersuccess').show();
                    }
                });
            }

remindme.php如果有问题,回显“x”。

我正在尝试比较remindme.php 的输出,但即使它回显是x,条件data == "x"也不起作用。

我添加了alert(data),我可以看到它x在需要时正确显示..

4

3 回答 3

1

如果服务器回显该x字符串,则if (data == 'x')成功回调中的测试应该可以工作。你的问题在别的地方。

于 2012-05-01T19:03:10.620 回答
1

也许是晚了。我遇到了同样的问题,我通过非常愚蠢的解决方法解决了(适用于您的代码):

function(data) {
    var server_info = data;
    if (server_info == "x") {                       
         $('#remindme').modal('hide');
          $('#quota').show();
    } else {
         $('#remindme').modal('hide');
         $('#remindersuccess').show();
    }
}

我不知道为什么 :/

希望能帮助到你。

于 2012-06-27T18:29:03.910 回答
1

我可能有同样的问题,我这样修复它:

    var verify = function (user,fName,fPass) {
        var result = "";
        $.ajaxSetup({async:false});
        $.post("php_scripts/verify"+user+".php",{login:fName, pass:fPass},function (data) {
            result = $.trim(data);   // use $.trim when are you using "data"
        });
        return result;
    }
于 2014-09-19T13:21:40.227 回答