我正在尝试使用XMLHttpRequest对象执行跨域请求,因为使用$.ajax
它不能在IE中工作,只能在Chrome,Firefox和Safari中使用。以下是代码示例
$("#btn").click(function () {
CallWithXhr();
});
function CallWithXhr() {
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://www.sandbox.paypal.com/cgi-bin/webscr", true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
xhr.send();
xhr.onload = function () {
var responseText = xhr.responseText;
console.log(responseText);
};
xhr.onerror = function () {
console.log('There was an error!');
};
}
我需要这个电话,因为我想将产品添加到Paypal购物车而不重定向到Paypal购物车。我用$.ajax
做了这件事,但它在Internet Explorer 10和11中没有用。
我在IE中遇到的错误是:
SEC7126: Redirects are not allowed for CORS preflight requests.
SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied.
在Chrome中,此脚本只出现一个错误:
XMLHttpRequest无法加载 https://www.sandbox.paypal.com/cgi-bin/webscr。请求是 重定向到“https://www.sandbox.paypal.com/home”,即 不允许需要预检的跨领域请求。
有关此问题的任何想法? 谢谢!