我有功能:
$(function () {
$('form').on('submit', function (e) {
$.ajax({
type: 'POST',
url: 'conf/send.php',
data: $('form').serialize(),
success: function () {
var form = document.getElementById("Form");
form.submit();
}
});
e.preventDefault();
});
});
在 FF、Chrome、Opera、IE 中工作良好。在 Safari 中不起作用。 尝试添加:
async: false,
$.ajaxSetup({
type: 'POST',
headers: { "cache-control": "no-cache" }
});
$.ajaxPrefilter(function (options, originalOptions, jqXHR) {
options.data = jQuery.param($.extend(originalOptions.data||{}, {
timeStamp: new Date().getTime()
}));
});
这没有帮助,可以做到吗? 提前致谢
最佳答案
您确定这段代码是:
success: function () {
var form = document.getElementById("Form");
form.submit();
}
这真的是你想要的吗?您告诉 JavaScript,如果您的表单通过 AJAX 发送,那么它应该发送 id 为 #Form
的表单。也许你应该尝试这个:
$(function() {
var form = $('form');
form.on('submit', function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: 'conf/send.php',
data: form.serialize(),
success: function (response) {
console.log(response);
//var form = document.getElementById("Form");
//form.submit();
}
});
});
});
关于javascript - jQuery Ajax 在 Safari 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19065689/