Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
jQuery$.post将表单输入放入url_Jquery_Http Post - Fatal编程技术网

jQuery$.post将表单输入放入url

jQuery$.post将表单输入放入url,jquery,http-post,Jquery,Http Post,我目前正在尝试使用HTML表单和POST请求实现一个基本的身份验证系统。当我按下按钮将信息发送到服务器时,页面被重定向到自身,但将序列化表单输入附加到url 例如:输入的用户名和密码分别为“用户名”和“密码”。这一页从 www.example.com/index.html 到 www.example.com/index.html?用户名=用户名&密码=密码 我有完全相同的代码在另一个页面中运行良好。我还尝试将其移动到三个不同的web服务器上,看看这是否是问题所在 代码如下: HTML格式: lo

我目前正在尝试使用HTML表单和POST请求实现一个基本的身份验证系统。当我按下按钮将信息发送到服务器时,页面被重定向到自身,但将序列化表单输入附加到url

例如:输入的用户名和密码分别为“用户名”和“密码”。这一页从

www.example.com/index.html

www.example.com/index.html?用户名=用户名&密码=密码

我有完全相同的代码在另一个页面中运行良好。我还尝试将其移动到三个不同的web服务器上,看看这是否是问题所在

代码如下:

HTML格式:

login.php


当我使用调试器找出发生了什么时,回调函数从未被输入。浏览器进入
$.post
调用,然后跳过它的主体并完成。我目前正在使用Chrome,但我在Firefox中测试过,也遇到了同样的问题


需要注意的是,当我在Chrome developer tools控制台中打开Network选项卡时,它显示login.php的请求已被取消。

问题是因为您的表单正在以正常方式提交,默认情况下通过
get
,这就是为什么会出现querystring

您需要将JS代码附加到
表单
本身的
submit
事件,而不是点击按钮。试试这个:

<form id="loginForm">
    <input type="text" name="username" placeholder="Username">
    <input type="password" name="password" placeholder="Password">
    <button>Log In</button>
</form> 
function login(){
    $.post('mobile_php/login.php', $('#loginForm').serialize(), function(data){
        //code handling data in here        
     });
}
<?php
    echo "success";
?>
<form id="loginForm">
    <input type="text" name="username" placeholder="Username">
    <input type="password" name="password" placeholder="Password">
    <button>Log In</button>
</form>