繁体   English   中英

Ajax成功功能无法正常工作

[英]Ajax Success Function Not Working Properly

好的,我的问题是我的Ajax成功功能无法正常工作,但正在另一个网页上正常工作。 烦人吧? 它们具有相同的代码(复制粘贴并编辑),当然具有不同的变量。

工作守则:

      $.ajax({
       type: 'POST',
       url: 'login.php',
        data: {
                uname: username,
                pass: password
              },
       success: function(html){    

      alert(html);
        if(html=='true')    {
         $("#add_err").html("right username or password");
         window.location="../home.php";
        }
        else    {
        $("#add_err").css('display', 'inline', 'important');
         $("#add_err").html("<img src='images/alert.png' />Wrong username or password"+username+password);

        }
       },

       beforeSend:function()
       {
        $("#add_err").css('display', 'inline', 'important');
        $("#add_err").html("<img src='images/ajax-loader.gif' /> Loading...")
       }
      });

Login.php将根据查询仅回显单词“ true”或“ false”。

这是无效代码:

 $.ajax({
       type: 'POST',
       url: 'loginphp.php',
        data: {
                username1: username,
                password1: password
              },

       success: function(html){    

      alert(html);
        if(html=='true')
        {
            $("#errorlogin").html("right username or password");
            window.location="../php/home.php";
        }
        else 
        {
            $("#errorlogin").css('display', 'inline', 'important');
            $("#errorlogin").html("<img src='images/alert.png' />Wrong username or password"+username+password);
        }           

        },



       beforeSend:function()
       {
        $("#errorlogin").css('display', 'inline', 'important');
        $("#errorlogin").html("<img src='images/ajax-loader.gif' /> Loading...")
       }
      });

Loginphp.php将根据查询仅回显单词“ true”或“ false”。

正如你所看到的那样,它们在技术上是相同的,但是没有工作的代码,即使loginphp.php回显为TRUE,成功函数也会直接转到ELSE。

我知道它确实呼应TRUE,因为我使用了“ alert(html)”,并且它确实显示了TRUE。

但是在工作代码中,触发了“ if(html =='true')”。 我不知道发生了什么

你应该不引用真实的:

if(html==true) //or just, if(html)

否则它会查找字符串“true”,这就是它进入else部分的原因。

您可以使用if(html){} ,它将为除html之外的任何html值运行。

最后尝试login.php

echo json_encode(array("msg"=>"true"));

或成功后,您可以像这样检查

if(html.msg == "true")
{}

尝试它可能会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM