Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
为什么jqueryajax调用只在I';我在Chrome上调试?_Jquery_Ajax - Fatal编程技术网

为什么jqueryajax调用只在I';我在Chrome上调试?

为什么jqueryajax调用只在I';我在Chrome上调试?,jquery,ajax,Jquery,Ajax,我有一个来自表单提交的简单ajax调用。 它在我调试时工作,即弹出警报,但在运行它时,它不工作 这对我来说似乎有点神秘 $(function(){ $("#signUpForm").submit(function(){ var request = $.ajax({ url:"php/newUser.php", type:"POST" }); request.done(function(m

我有一个来自表单提交的简单ajax调用。 它在我调试时工作,即弹出警报,但在运行它时,它不工作

这对我来说似乎有点神秘

$(function(){

    $("#signUpForm").submit(function(){
        var request = $.ajax({
            url:"php/newUser.php",
            type:"POST"

        });

        request.done(function(msg){
            alert(msg);
        });


    });
});

如果在表单的处理程序上运行ajax调用,ajax请求将触发,但随后表单将继续提交,从而刷新页面,并且永远不会触发回调函数

相反,您应该在submit handler函数的末尾调用
event.preventDefault()
,以防止浏览器使用新的HTTP请求正常提交表单。为此,需要将
事件
作为参数添加到回调函数中,如下所示:

$( "#target" ).submit(function( event ) {
  alert( "Handler for .submit() called." );
  event.preventDefault();
});

调试时它工作的原因是,当您一步一步地进行时,所有事情都会发生得很慢,而浏览器不会提交表单。

如果您在方法中偶然编写了console.log,请检查情况。

您没有在该方法中发送任何数据。
$.ajax
request@Victor虽然你在这个案子上是对的,没有理由不使用数据集就不能/不应该发出AJAX请求—这只是一个旁注。因为该文件名看起来像
newUser.php
,所以它应该向它传递一些数据:))newUser.php只是回显“hi”;我只是在玩ajax,这很奇怪,因为在代码中,alert msg框会跳起来,但当我在没有调试的情况下实际运行它时,它不会跳起来。