Javascript Ajax调用未使用其他表单SUMBIT执行

Javascript Ajax调用未使用其他表单SUMBIT执行,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个功能: function blur_slide_visit_count(){ $.ajax({ type: 'POST', url: 'add_save_slide_visitor_count.php', async: false, data: { fillvalue: fieldArray }, success : function(){} }); } 我还有一个要素: <input

我有一个功能:

function blur_slide_visit_count(){
    $.ajax({
        type: 'POST',
        url: 'add_save_slide_visitor_count.php',
        async: false,
        data: { fillvalue: fieldArray },
        success : function(){}
    });
}
我还有一个要素:

<input class="btn btn-default btn1" type="submit" id="submit-btn">
我期望发生的是,当用户单击输入时,调用函数,AJAX执行调用PHP页面的操作,PHP页面应该更新我的DB。但是,当我点击按钮时,数据库永远不会更新。我认为AJAX调用正在下降,但我不知道为什么


有人能解释一下为什么上面的代码不起作用吗?

您必须首先使用preventDefault()停止表单提交,因为您想使用ajax。只需添加
事件.preventDefault()到单击处理程序的顶部,然后放置代码

 $("#submit-btn").click(function(event) { 
    event.preventDefault(); 
    ....
 });

您必须首先使用preventDefault()停止表单提交,因为您想使用ajax到单击处理程序的顶部,然后放置代码

 $("#submit-btn").click(function(event) { 
    event.preventDefault(); 
    ....
 });

为什么使用async=false?这不应该使用,它会在ajax调用时阻止用户与页面的交互,接下来-一些html元素具有默认行为,默认绑定,如-form和submit,默认行为是发送表单,为避免此情况,在绑定中应使用preventDefault()

$("#submit-btn").submit(function(e) {

   e.preventDefault();
   blur_slide_visit_count();
});
看,我绑定了提交不单击(良好做法),如果需要绑定单击,请使用按钮不输入,然后单击将不会触发提交事件

将您的输入更改为(very-important type=“button”ps.type=“submit”将触发表单上的提交):

如果您需要在ajax调用后调用submit,最后一件事就是更改您的函数(我添加了函数-在ajax调用后调用回调)):

然后bind看起来像:

$("#submit-btn").click(function(e) {

   blur_slide_visit_count(function(){
       $("form").submit();
   });
});

为什么使用async=false?这不应该使用,它会在ajax调用时阻止用户与页面的交互,接下来-一些html元素具有默认行为,默认绑定,如-form和submit,默认行为是发送表单,为避免此情况,在绑定中应使用preventDefault()

$("#submit-btn").submit(function(e) {

   e.preventDefault();
   blur_slide_visit_count();
});
看,我绑定了提交不单击(良好做法),如果需要绑定单击,请使用按钮不输入,然后单击将不会触发提交事件

将您的输入更改为(very-important type=“button”ps.type=“submit”将触发表单上的提交):

如果您需要在ajax调用后调用submit,最后一件事就是更改您的函数(我添加了函数-在ajax调用后调用回调)):

然后bind看起来像:

$("#submit-btn").click(function(e) {

   blur_slide_visit_count(function(){
       $("form").submit();
   });
});

您拥有的代码将提交页面…如果您正在使用ajax,为什么要再次提交?ajax方法是异步的。如果需要同时执行这两项操作,则必须等待ajax请求完成。最好是侦听submit事件,而不是click事件“$(“#submit btn”).submit(function(){})”。为了确保ajax实际完成,您可能需要执行同步阻塞ajax调用,而不是异步调用。如果您同时需要ajax和From submission,请在ajax调用完成后触发表单提交事件。检查此链接为什么在提交表单后再次提交表单以达到该点?您拥有的代码将提交页面…如果您使用ajax,为什么再次提交?ajax方法是异步的。如果需要同时执行这两项操作,则必须等待ajax请求完成。最好是侦听submit事件,而不是click事件“$(“#submit btn”).submit(function(){})”。为了确保ajax实际完成,您可能需要执行同步阻塞ajax调用,而不是异步调用。如果您同时需要ajax和From submission,请在ajax调用完成后触发表单提交事件。检查此链接为什么在提交表单后再次提交表单以达到该点?
$("#submit-btn").click(function(e) {

   blur_slide_visit_count(function(){
       $("form").submit();
   });
});