ajax请求返回值没有被jQuery拾取

时间:2012-06-09 19:09:27

标签: php jquery ajax cordova

当我尝试:

$.post("http://mysite.com/myscript.php",{ email:$('#emailRegister').val(),password:$('#passwordRegister').val()} ,function(data){
if(data=='yes')
{
  alert("yes", data);
}
else 
{
  alert("not yes", data);
}
});

我得到:“不是是的”,实际应该是“是的”。我的php部分将用户添加到数据库,并在添加用户时返回“是”(工作正常)。

在我的脚本的另一部分,我使用相同的技术,但它工作得很好。

有人知道可能出现什么问题吗?如果有必要,这里有更多的代码(我正在使用PhoneGap开发一个iOs应用程序):

$("#register_form").submit(function(){
        if(isEmail($("#emailRegister").val())){
             if($("#passwordRegister").val() == $("#repeatPassword").val()){
                 $.post("http://mysite.com/myscript.php",{ email:$('#emailRegister').val(),password:$('#passwordRegister').val()} ,function(data)
                        {
                        if(data=='yes')
                        {
                        alert("yesss ",data);
                                localStorage.setItem("email", $('#emailRegister').val()); //saves to the database, key/value
                                localStorage.setItem("password", $('#passwordRegister').val()); //saves to the database, key/value
                                $.mobile.changePage($("#checkPage"),{ transition: "flip"});
                        }
                        else 
                        {
                            alert(data);
                        }
                        });
             }
             else{
                alert("The passwords do not match!");
             }
         }
         else
         {
            navigator.notification.alert('Please enter a valid emailadres. This adress will be used in several years to send your pictures',null,"Invalid email");

         }
         return false; //not to post the  form physically
    });

1 个答案:

答案 0 :(得分:0)

如果警报实际上说“不是是”那么唯一的可能性是数据变量在警报中包含看似“是”的东西,但实际上与“是”略有不同(可能包含空格或换行符。)

而不是if (data=="yes")尝试if (data.match(/yes/))