Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax没有';不要发送数据_Ajax_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Ajax没有';不要发送数据

Ajax没有';不要发送数据,ajax,javascript,jquery,jquery-selectors,Ajax,Javascript,Jquery,Jquery Selectors,我正在学习使用。通过单击表单中的提交按钮,不会发送数据 Jquery代码: $('input[name="login"]').click(function() { var username = $('#username').val(); var password = $('#password').val(); $.ajax({ type: 'POST', url: '/?module=login&special_content=

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

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代码:

<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>

%标题\u登录%
%登录\用户名%

%登录密码%

%登录\u或%


错误在哪里?谢谢

您的问题是由选择器引起的
$(“#username”)
表示您想要一个id设置为“username”的元素

对于两个文本输入,分别将
name=“username”
name=“password”
更改为
id=“username”
id=“password”

在代码中,用户名和密码不存在,因此
.val()
返回空/空

将选择器更改为
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;
            }
        }
    });
});

使用devtools ass检查post请求,如图所示


这里的信息不够。您在调试方面走了多远?您是如何检查的?您可以使用浏览器的“网络”选项卡查看请求发出和响应返回。您还可以使用它查看JS代码$(“#用户名”)和$(“#密码”中是否有错误如果没有定义,您忘记了ID。服务器端代码是什么样子的?如果用户按“enter”而不是单击“submit”,您的ajax将被跳过,仅供参考。(许多用户都会这样做。)删除表单标记,或者将提交按钮改为type=“submit”并侦听表单的“提交”事件,而不是“提交”按钮的“单击”事件。谢谢,但仍然不发送数据。我添加了一个显示正在推送/删除的数据的sreenshot。