Ajax不发送数据

时间:2014-04-14 18:09:31

标签: javascript jquery ajax jquery-selectors

我正在学习使用。通过单击表单中的提交按钮,不会发送数据。

Jquery代码:

 $('input[name="login"]').click(function()  {
    var username = $('#username').val();
    var password = $('#password').val();
    $.ajax({
        type: 'POST',
        url: '/?module=login&special_content=true',
        data:{'username':username,'password':password, 'action':'login'},
        success: function(e) {
            if(e == false)
            {
            }
            else
            {
                document.location.href = e;
            }
        }
    });
});

HTML code:

<section style="width: 400px; margin: 10% auto; float: none;" id="box">
<section id="box-header">
    <div id="box-title">%header_login%</div>
</section>
<section id="box-content" style="float: none;">
    <form method="POST" action="./">
        %login_username%<br>
        <input type="text" style="width: 100%;" class="input" name="username" placeholder="%login_input_user%" required/><br>
        %login_password%<br>
        <input type="password" style="width: 100%;" class="input" name="password" placeholder="%login_input_pass%" required/><br>
        <input type="button" id="login-button" style="width: 100%; box-sizing: border-box;" class="btn btn-red" name="login" value="%login_button%" />
    </form>
    <center><div style="margin-top: 5px;"> %login_or% <a href="?module=register">%login_signup%</a></div></center>
</section>

错误在哪里?谢谢!

2 个答案:

答案 0 :(得分:0)

您的问题是由您的选择器引起的。 $("#username")表示您希望将id设置为“用户名”的元素。

对于您的两个文字输入,分别将name="username"name="password"更改为id="username"id="password"

答案 1 :(得分:0)

在您的代码中,#username#password不存在,因此.val()返回空/ null。

将选择器更改为input[name=将解决问题

$('input[name="login"]').click(function()  {
    var username = $('input[name=username]').val();
    var password = $('input[name=password]').val();
    $.ajax({
        type: 'POST',
        url: '/?module=login&special_content=true',
        data:{'username':username,'password':password, 'action':'login'},
        success: function(e) {
            if(e == false)
            {
            }
            else
            {
                document.location.href = e;
            }
        }
    });
});

http://jsfiddle.net/dgjBh/

使用图片

中的devtools ass检查发布请求

Ajaxing data