5

我正在使用 javascript 来获得肥皂响应,但经过很多痛苦后,我意识到不可能获得跨域 xml http 请求。所以我决定继续使用jquery,现在我不需要代码,我只需要一些提示和确认,如果可能的话,下面的jquery是我的js代码 var getmarket = new XMLHttpRequest(); getmarket.open('POST', 'http://www.betfair.com/publicapi/', true);

    var m_request = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" '+
                    'xmlns:bfex="http://www.betfair.com/publicapi/v5/BFExchangeService/" '+
                    'xmlns:v5="http://www.betfair.com/publicapi/types/exchange/v5/">'+
                    ' <soapenv:Header/>'+
                    '<soapenv:Body>'+
                    '<bfex:getAllMarkets>'+
                    '<bfex:request>'+
                    '<header>'+
                       '<clientStamp>0</clientStamp>'+
                       '<sessionToken>Y9eTuEvlrTM55pbRB1kIj0As0bVvz3eFm+p1FY+svHk=</sessionToken>'+
                    '</header>'+
                    '<locale>en</locale>'+
                    '<eventTypeIds>'+
                       '<v5:int>1</v5:int>'+
                    '</eventTypeIds>'+
                    '<countries>'+
                       '<v5:Country>GBR</v5:Country>'+
                    '</countries>'+
                    '<fromDate>2012-08-23TO00:00:00.000Z</fromDate>'+
                    '<toDate>2012-08-24TO00:00:00.000Z</toDate>'+
                 '</bfex:request>'+
              '</bfex:getAllMarkets>'+
           '</soapenv:Body>'+
        '</soapenv:Envelope>';

    getmarket.onreadystatechange = function (){
        if (getmarket.readyState == 4 && getmarket.status == 200)
        document.write(getmarket.responseText);
        }

    getmarket.setRequestHeader('Content-Type', 'text/xml');
    getmarket.send(m_request);
    document.write(getmarket.responseText);
4

2 回答 2

2

你不能这样做,只允许JSONP跨域。

还要检查一下:来自浏览器的跨域 SOAP

于 2012-08-23T11:00:37.450 回答
2

JQuery 是 Javascript 的包装器。如果 javascript 不会这样做,JQuery 也不会。您必须让您的服务器进行查找。

于 2012-08-23T11:02:24.833 回答