使用xmlHttpRequest和Paypal进行跨域请求

时间:2013-11-20 15:18:16

标签: javascript internet-explorer paypal cross-domain cors

我正在尝试使用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”,即   不允许需要预检的跨领域请求。

有关此问题的任何想法? 谢谢!

0 个答案:

没有答案