Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 AJAX.Post不使用引导_Jquery_Ajax_Twitter Bootstrap - Fatal编程技术网

jQuery AJAX.Post不使用引导

jQuery AJAX.Post不使用引导,jquery,ajax,twitter-bootstrap,Jquery,Ajax,Twitter Bootstrap,我有一个登录表单,如果我使用传统的html表单post提交,它可以很好地工作 <form class="form-horizontal" id="loginform"> <div class="control-group"> <label class="control-label" for="user_name"> Username or E-Mail </label>

我有一个登录表单,如果我使用传统的html表单post提交,它可以很好地工作

<form class="form-horizontal" id="loginform">
    <div class="control-group">
        <label class="control-label" for="user_name">
            Username or E-Mail
        </label>
        <div class="controls">
            <input type="text" id="user_name" name="user_name" autofocus>
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="password">
            Password
        </label>
        <div class="controls">
            <input type="password" id="password" name="password">
        </div>
    </div>
    <div class="control-group">
        <div class="controls">
            <label class="checkbox">
                <input type="checkbox">Remember me
            </label>
            <br>
            <button type="submit" class="btn" id="submit_login">
                Sign-in
            </button>
        </div>
    </div>
</form>
但这不是发布,我的会话也没有开始。我已经打印了jQuery“user_name”和“password”变量,它们从表单中提取正确的值。“login.php”文件查找的变量还有“用户名”和“密码”。运行脚本时没有控制台错误


是什么导致了此处的断开连接?

您应该在发送
$之前立即阻止默认操作。post
以避免默认表单提交,否则您的
$。post
将(在大多数情况下)中止

$(document).ready(function(){
    $("#submit_login").click(function(event){
        event.preventDefault(); // stop form submit
        var user_name = $("#user_name").val();
        var password = $("#password").val();
        $.post("login.php", {user_name: user_name, password: password});
    });
});

它是jQuery val()方法和Bootstrap的btn类的组合,该类默认将按钮样式设置为submit按钮。我换了

    var user_name = $("#user_name").val();
    var password = $("#password").val();



AJAX也按预期工作


关键是将“提交”改为“按钮”,而不仅仅是一起删除类型分配。如果未指定类型,则按钮默认为类型“提交”

您没有阻止默认操作,因此在启动ajax请求后会进行正常形式的提交,导致请求中止。您是否检查了控制台以查看是否确实发送了帖子?反应如何?在收到服务器的响应后,该代码什么也不做,这是故意的吗?那凯文B呢said@KevinB这是对的。或者,您可以将提交按钮从type=“submit”更改为type=“button”,它将不再尝试重定向。嗨,Kevin,我添加了event.preventDefault(),但帖子仍然没有提交。还有什么不对劲的吗?是的,它与PHP无关,因为我可以在没有Ajax的情况下提交表单,但这并不一定意味着没有PHP问题发生。在php方面,检查使用ajax发出请求时可用的数据。
    var user_name = $("#user_name").val();
    var password = $("#password").val();
    var user_name = document.getElementById("user_name").value;
    var password = document.getElementById("password").value;
<button type="submit" class="btn" id="submit_login">
<button type="button" class="btn" id="submit_login">