在对REST API进行Ajax调用时,我在IE9中遇到了问题。 在IE 9中,我没有得到成功的响应,而在所有其他浏览器中它工作正常,我在Chrome,FF中获得成功响应(即使在IE 10和11中也是如此)。 我在IE 9中得到错误响应为“拒绝访问”,在控制台中,它显示HTML1300:导航发生。 此ajax调用也是从http到https。
我也尝试过使用jsonp,但API并没有返回jsonp响应。 注意:这是一个简单的应用程序,不涉及后端。
下面是我的Ajax代码。
$.ajax({
type: 'GET',
url: 'https://myurl to REST API/',
dataType: 'json',
contentType: "application/json,
data: {
'select': "sum(message_count)",
'timeRange': timeInterval
},
headers: {
"Authorization": "Basic " + btoa(AppFramework.constants.USER_NAME + ":" + AppFramework.constants.PASSWORD)
},
success: function(result) {
AppFramework.messageCcount = result.environments[0].metrics[0].values[0];
console.log(AppFramework.messageCcount);
},
error: function(xhr, status, error) {
alert(error);
}
});
任何有用的帮助
答案 0 :(得分:0)
我不知道你为什么现在就IE9提问,但仍然会在这里提供答案。
尝试在AJAX请求中将缓存属性设置为false。较旧版本的IE有时会缓存所有AJAX请求,并且不允许浏览器使用更新的结果。您可以使用以下一个或所有方法来解决此问题:
GET
更改为Post
"Cache-Control","no-cache,no-store"
以明确告知浏览器禁用此请求的缓存。cache:false
”。