这里和其他地方有很多关于这个问题的问题,我一直在阅读P3P,IE设置,XDocumentRequest以及过去几天所有相关的事情,但我似乎无法解决这个问题问题
我从我的域名向另一个域名的api发出请求。在这个例子中,真实的网址和令牌被替换为虚拟对象。
$.ajax({
url: 'https://api.myapiurl.com/companies/mycompany', // Third party
type: 'get',
headers: {
Authorization: 'MYAUTHTOKEN123'
},
dataType: 'json',
success: function (data) {
if (data) {
callback(data);
}
},
error: function () {
callback({
'error': true
});
}
});
应该说我的域名是http
,而api是https
,如果这是相关的。
以下是来自Fiddler的原始请求
GET https://api.myapiurl.com/companies/mycompany HTTP/1.1
Authorization: MYAUTHTOKEN123
Accept: application/json, text/javascript, */*; q=0.01
Referer: http://review.mysiteurl.se/?c=mycompany
Accept-Language: sv-SE,sv;q=0.5
Origin: http://review.mysiteurl.se
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: api.myapiurl.com
Connection: Keep-Alive
Cache-Control: no-cache
来自我的工作环境的原始响应
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://review.mysiteurl.se
Access-Control-Expose-Headers: Content-Length
Content-Type: application/json; charset=utf-8
Date: Fri, 04 Dec 2015 09:05:05 GMT
Server: undertow
Content-Length: 1001
Connection: keep-alive
{"name":"Mycompany","slug":"mycompany"}
现在这在我本地计算机上的IE11中对我很有用。它也适用于browserstack.com,其设置与我的客户完全相同。我也从几个不同的远程位置尝试过,但它始终有效。
上周,我一直将这个链接发送给我的客户,其中很多都不会过去,$.ajax
转到error:
而不是success:
。
我向他们询问了尽可能多的信息,比如
Operating System: Windows Windows 7
Screen Resolution: 1920 x 1200
Web Browser: Internet Explorer 11.0
Browser Size: 1920 x 1084
IP Address: x.x.x.x
Color Depth: 16
Javascript: Enabled
Flash Version: 19.0.-1
Cookies: Enabled
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
可悲的是,我很难找到具备一些基本调试技巧的人来给我实际的控制台输出或javascript错误。
试图复制那个确切的环境,但它仍然适合我。
现在有什么东西,比如防火墙或一些IE设置可能通常被设置为可能导致此问题的公司政策的一部分吗?当我似乎无法复制问题时,我只是不知道下一步该看什么。如果是一两个人,我会把它归咎于一些模糊不清的设置并继续前进,但这就像是7个不同公司的20-30%的用户。