我有一个 JSONP 脚本,它加载一个将数据发送到远程 Web 服务的页面。根据来自此 Web 服务的响应,此脚本然后传回重定向 URL。现在它在 IE、Chrome 等中运行良好。但是对于一些 IE 用户来说,它无法重定向它们并且页面只是“坐”在那里什么都不做——就好像 JSONP 已经停止等待响应一样。
我已经记录了所有变量、时间、浏览器等,我可以看到脚本(submit.php)平均需要 22 秒才能运行并返回我所期望的:
check_response({"status":"sold","message":null,"link":[" https://remote.website.com/system/redirect.php?TMRMQT6q6kzz6ldJ8kN3xNor "]});
JSONP 调用如下
<script type="text/javascript" charset="utf-8">
submit_leads();
function submit_leads() {
jQuery.ajax({
url: "/wp-content/plugins/myform/submit.php",
dataType: "jsonp",
timeout: 300000,
async: true,
cache: false,
jsonp: check_response
});
}
function check_response(data) {
if (data.status == "sold") {
console.log('We sold a lead!: ' + data.link);
window.location.href = data.link;
} else if (data.status == "nodata") {
window.location.href = 'https://www.mysite.com/form';
} else {
window.location.href = 'http://www.redirect.com/product.php?id=c5609b53ca-a6fc65a0d4-37f8f83dc0-51082cac17&affsub=mobile_application';
}
}
我不知道为什么,有人对我能做什么或我应该调查有什么建议吗?