我很难解决我在IE中使用HTTPS Ajax调用的问题。 IE似乎认为我正在提出跨域请求,但我不是。从页面https://mydomain/customer_profile.php
:
$.ajax({
type: 'post',
url: 'https://mydomain/ajax/retrieve_transaction_details.php',
data: /* my data is here */,
success: function(response){
// do something with the response
},
error: function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
此请求在除IE之外的每个浏览器中都能正常工作。在IE中,错误函数返回“错误:访问被拒绝”。就像我说的那样,我对此完全感到难过,所以任何见解或想法都会很棒。
答案 0 :(得分:3)
我猜您在HTML的 head 部分中使用了 <base>
标记;正确?
如果指向 http
而不是 https
,则会破坏 IE 。
答案 1 :(得分:2)
尝试在您的请求中将crossDomain设置为true,如下所示:
$.ajax({
type: 'post',
url: 'https://mydomain/ajax/retrieve_transaction_details.php',
data: /* my data is here */,
crossDomain: true,
success: function(response){
// do something with the response
},
error: function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
这应该允许您发出请求,无论它是否是跨域的。