Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Javascript 在ajax调用完成之前延迟表单提交_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 在ajax调用完成之前延迟表单提交

Javascript 在ajax调用完成之前延迟表单提交,javascript,jquery,ajax,Javascript,Jquery,Ajax,正如标题所述,我正在努力延迟提交帖子,以便ajax调用能够完成 到目前为止我已经知道了,你知道为什么它不起作用吗 //Jquery jQuery(document).ready(function($) { $("#save").on("click", function(e){ //Prevent submission of post data before ajax success in function reverse_geocoding

正如标题所述,我正在努力延迟提交帖子,以便ajax调用能够完成

到目前为止我已经知道了,你知道为什么它不起作用吗

//Jquery
jQuery(document).ready(function($) {
    $("#save").on("click", function(e){


                //Prevent submission of post data before ajax success in function reverse_geocoding
                e.preventDefault();
                //ajax
                reverse_geocoding(lat_onclick,lng_onclick,true);

        }
    });





                    function reverse_geocoding(latitude,longitude,submit) {
                            //get country/city/state using lat and long data
                            jQuery.ajax({
                                url: "<?php bloginfo('template_url'); ?>/reverse-geocoding.php",
                                type: "GET",
                                data: "latitude=" + latitude + "&longitude=" + longitude,
                                cache: false,
                                success: function (data){
                                    var response = jQuery.parseJSON(data);
                                },
                                complete: function() {
                                    if (submit) {
                                        $("#add_to_map").submit();
                                    }
                                }
                            });
                    }
});
//End Jquery
//Jquery
jQuery(文档).ready(函数($){
$(#保存”)。在(“单击”上,函数(e){
//防止在ajax功能反向地理编码成功之前提交post数据
e、 预防默认值();
//阿贾克斯
反向地理编码(lat_onclick,lng_onclick,true);
}
});
功能反向地理编码(纬度、经度、提交){
//使用lat和long数据获取国家/城市/州
jQuery.ajax({
url:“/reverse geocoding.php”,
键入:“获取”,
数据:“纬度=”+纬度+“&经度=”+经度,
cache:false,
成功:功能(数据){
var response=jQuery.parseJSON(数据);
},
完成:函数(){
如果(提交){
$(“#将#添加到#映射”).submit();
}
}
});
}
});
//结束Jquery
html部分:

<form method="post" name="update_profile_maps" id="add_to_map" action="">
    //some inputs here.
</form>

//这里有一些输入。

不要使用
标签,而是使用普通的
(不是
提交类型的
标签;注意
提交类型的
)。单击按钮时,启动ajax,如果ajax成功完成,则使用JavaScript提交表单。

会发生什么错误?1)JavaScript代码实际上在PHP文件中吗?2) 您的
success
函数中的
response
会发生什么情况,因为您现在没有对它做任何操作。我没有测试过,但在过去遇到过这个问题,我还必须返回false并阻止默认值。@ExplosionPills表单未提交。@user113215 yes。我删掉了不相关的部分。