首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ajax成功函数未正常工作

Ajax成功函数未正常工作
EN

Stack Overflow用户
提问于 2016-03-18 11:20:01
回答 3查看 490关注 0票数 1

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

工作代码:

代码语言:javascript
复制
      $.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”。

这是无法工作的代码:

代码语言:javascript
复制
 $.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回显为真时,成功函数也会直接转到ELSE。

我知道这是真的,因为我用了"alert(html)“,它真的显示了真。

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

EN

回答 3

Stack Overflow用户

发布于 2016-03-18 11:22:24

你应该取消引用:

代码语言:javascript
复制
if(html==true) //or just, if(html)

否则,它将查找字符串"true“,这就是它转到else部分的原因。

票数 0
EN

Stack Overflow用户

发布于 2016-03-18 12:54:00

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

票数 0
EN

Stack Overflow用户

发布于 2016-03-18 13:43:45

在结束时试用login.php

代码语言:javascript
复制
echo json_encode(array("msg"=>"true"));

或者在成功时,您可以像这样检查

代码语言:javascript
复制
if(html.msg == "true")
{}

试一试可能会有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36075530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档