正如标题所述,我正在努力延迟后期提交,以便完成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
html部分:
<form method="post" name="update_profile_maps" id="add_to_map" action="">
//some inputs here.
</form>
不要使用<submit>
标记,而是使用普通的<button>
(不是类型submit
;请注意,类型submit
是默认值)。单击按钮后,启动ajax,如果ajax成功完成,则使用JavaScript提交表单。