一尘不染

DOMException:仅在Chrome上无法在“ XMLHttpRequest”上执行“发送”

ajax

我试图通过ajax jQuery的方法从跨域服务器检索XML,并且控制台上出现以下错误消息:

DOMException: Failed to execute 'send' on 'XMLHttpRequest': Failed to load: 'http://foreign.domain/...'

导致此错误的代码是:

var temp = $.ajax({
    url : url,
    async : false
    dataType : "xml",
    success : function(xml) {
        // irrelevant for the case
    },
    error : function(xhr, textStatus, error) {
        console.warn('An error occured while loading the following URL: "%s". Error message: %s', url, error);
    }
});

阅读 258

收藏
2020-07-26

共1个答案

一尘不染

问题是同步选项由以下方式指定:

async: false,

这似乎在Chrome中不起作用,可能是由于jQuery的ajax方法的规范,该规范说:

跨域请求和dataType:“ jsonp”请求不支持同步操作。

奇怪的是,Firefox和Internet Explorer似乎忽略了该规范,它们都执行http请求并返回XML结果。

2020-07-26