【问题标题】:What is wrong with my jQuery Ajax?我的 jQuery Ajax 有什么问题?
【发布时间】:2013-11-25 15:21:49
【问题描述】:

我有这个 HTML

<section id="login">
    <form>
        <input type="text" name="username" size="10" placeholder="username" />
        <input type="password" name="password" size="10" placeholder="password" />
        <input type="submit" name="login" value="Login" />
    </form>
</section>

通过这个$.ajax() 调用PHP (sys_login.php)。

$(function(login){
$('#login form').submit(function(e){

    var uname   =   $('input[name="username"]').val();
    var pwd     =   $('input[name="password"]').val();

    var dataObject = {
            command     : "login",
            username    : uname,
            password    : pwd
        };

    $.ajax({
        type     : "POST",
        url      : "application/sys/sys_login.php",
        data     : dataObject,
        dataType : "json",
        success: function(response, status){
            if (response.status===true){
                docCookies.setItem("sessionid", response.sessionid);
                docCookies.setItem("username", response.username);
                docCookies.setItem("roles", response.roles);
                location.href = "application/index.php";

            }else{
                console.log("false")
                }           
            },
        beforeSend:function(){
            console.log("sending")
        }
    }).error(function() {
        console.log("error");
    });
    e.preventDefault();
});
});

但它从未到达sys_login.php 文件。如果我使用GET,它将到达 php 文件。在调试期间,即使控制台也没有打印任何内容。我做错了什么?

**更新 显然后端服务器出现故障。该脚本适用于其他机器。谢谢你们的时间。

【问题讨论】:

  • 尝试使用$(function(){ 而不是$(function(login){
  • 你使用的是简单的php还是其他框架

标签: javascript jquery ajax


【解决方案1】:

在将其发送到 PHP 之前,您应该 stringify(dataObject)

试试

    $.ajax({
        type     : "POST",
        url      : "application/sys/sys_login.php",
        data     : JSON.stringify(dataObject),
        dataType : "json",
)};

see here

【讨论】:

    【解决方案2】:

    你能试试这个吗,确保你的 html 中有唯一的元素 ID,

    <section >
        <form id="login">
            <input type="text" name="username" size="10" placeholder="username" />
            <input type="password" name="password" size="10" placeholder="password" />
            <input type="submit" name="login" value="Login" />
        </form>
    </section>
    
     <script type="text/javascript">
     $(function(){
            $('#login').submit(function(e){
    
                var uname   =   $('input[name="username"]').val();
                var pwd     =   $('input[name="password"]').val();
    
                var dataObject = {
                        command     : "login",
                        username    : uname,
                        password    : pwd
                    };
    
                $.ajax({
                    type     : "POST",
                    url      : "application/sys/sys_login.php",
                    data     : dataObject,
                    dataType : "json",
                    success: function(response, status){
                        if (response.status===true){
                            docCookies.setItem("sessionid", response.sessionid);
                            docCookies.setItem("username", response.username);
                            docCookies.setItem("roles", response.roles);
                            location.href = "application/index.php";
    
                        }else{
                            console.log("false");
                            }           
                        },
                    beforeSend:function(){
                        console.log("sending");
                    }
                }).error(function() {
                    console.log("error");
                });
                e.preventDefault();
            });
        });
    

    参考:-http://api.jquery.com/submit/

    【讨论】:

      【解决方案3】:

      试试这个代码:

       $(function(login){
          $('#login form').submit(function(e){
      
              var uname   =   $('input[name="username"]').val();
              var pwd     =   $('input[name="password"]').val();
      
              var dataObject = '{
                      "command"     : "login",
                      "username"    : "'+uname+'",
                      "password"    : "'+pwd+'"
                  }';
      
              $.ajax({
                  type     : "POST",
                  url      : "application/sys/sys_login.php",
                  data     : dataObject,
                  dataType : "json",
                  success: function(response){
                      if (response.status===true){
                          docCookies.setItem("sessionid", response.sessionid);
                          docCookies.setItem("username", response.username);
                          docCookies.setItem("roles", response.roles);
                          location.href = "application/index.php";
      
                      }else{
                          console.log("false")
                          }           
                      },
                  beforeSend:function(){
                      console.log("sending")
                  }
              }).error(function() {
                  console.log("error");
              });
              e.preventDefault();
          });
          });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-07
        • 2014-04-12
        相关资源
        最近更新 更多