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

おそらく同じ問題があり、次のように修正しました。

    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 に答える
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

xサーバーが文字列をエコーする場合、if (data == 'x')成功コールバック内のテストが機能するはずです。あなたの問題は別の場所にあります。

于 2012-05-01T19:03:10.620 に答える