我正在使用 jQuery ajax() 方法将(GET)数据传递到另一个 ExportData 页面,并在该页面处理后获取返回的数据(“成功/失败”)。ExportData 页面在返回“成功/失败”之前大约需要 10 秒。
我使用的代码在其他浏览器(FF/IE/Chrome)中运行良好,但在 Safari 中却不行。在 Safari 的代码检查器中,显示的状态代码是 -1001,并且没有收到任何数据。虽然还有其他 ajax() 请求(只要此页面返回数据就不需要)并且它们确实有效(状态为 200)。
我猜测发送和接收数据之间的长时间间隔会导致 Safari 出错。但是我也发现 -1001 错误显示得非常快,这可能意味着 ExportData.php 没有执行。
有人知道这个问题吗?对你的帮助表示感谢!
代码是:
ExportData: function (date,view) {
ajaxcall.data = {};
ajaxcall.url = 'ExportData.php?Date='+date+'&View='+view;
ajaxcall.callbackfunction = UserEvents.ExportSuccess;
ajaxcall.Call();
},
“ajaxcall”在另一个文件中:
var ajaxcall = {
SitePath: '',
data: '',
url: '',
callbackfunction: '',
fileElementClass: '',
AjaxRequest: false,
callback: true,
Call: function () {
if (ajaxcall.AjaxRequest == true) {
alert(ajaxcall.AjaxRequest);
return;
}
else {
try {
ajaxcall.AjaxRequest == true;
$.ajax({
type: "GET",
url: ajaxcall.url,
data: ajaxcall.data,
dataType: "json",
async: false,
success: function (data) {
if (ajaxcall.callback == true) {
ajaxcall.callbackfunction(data);
}
},
error: function (request, status, error) {},
complete: function () {
ajaxcall.AjaxRequest = false;
}
});
}
catch (e) {
ajaxcall.AjaxRequest == false;
}
}
},
};
谢谢,肖恩刘