0

当我尝试:

$.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
    });
4

1 回答 1

0

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

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

于 2012-06-09T23:09:36.123 回答