jQuery.ajax调用适用于IE,但在Firefox上失败

时间:2013-09-05 11:26:33

标签: jquery firefox

我从JavaScript调用SOAP WebService。在IE中,我的代码可以工作,但在Firefox上,使用textStatus =“error”,xhr.status = 0和errorThrown为空调用错误函数。我在SO上尝试了不同的答案,但无法解决问题。

    jQuery.support.cors = true;
    jQuery.ajax({
        url: serviceUrl,
        beforeSend: function (xhr) {
            xhr.setRequestHeader("SOAPAction", soapAction);
        },
        type: "POST",
        dataType: "xml",
        data: soap,
        success: function(data, textStatus, jqXHR ) {
            // report success
            success.style.display='block';
        },
        error: function (jqXHR, textStatus, errorThrown) {
            // report error
            fail.style.display='block';
            alert(textStatus + ": " + jqXHR.status + " / " + errorThrown);
        },
        contentType: "text/xml; charset=utf-8"
    });

Browserversions:IE 9,Firefox 23.0.1

1 个答案:

答案 0 :(得分:0)

这是因为同源政策。你不能使用ajax来调用外部网站。如果你真的想使用,你必须使用JSONP。或者您可以使用服务器端代理。意味着,在服务器端调用外部站点并对该Web服务进行ajax调用。

相关问题