我有一个非常简单的XMLHttpRequest进行POST
调用。它适用于Chrome和Firefox。但是当我在IE10中尝试它时,我收到了这个错误..
SCRIPT5022:InvalidStateError
这是代码。
function _ajaxHelper(options) {
var xhr = new XMLHttpRequest();
var opts = _extendHelper({
withCredentials: false,
method: 'GET'
}, options);
xhr.withCredentials = opts.withCredentials;
xhr.open(opts.method, opts.url);
xhr.setRequestHeader('Accept', 'text/plain');
xhr.send(JSON.stringify(options.data));
return {
done: function done(cb) {
xhr.onreadystatechange = function onStateChange() {
if (this.readyState === 4) {
if (this.status >= 200 && this.status < 300) {
cb(this.responseText);
} else {
cb(false);
}
}
};
xhr.ontimeout = function onTimeout() {
cb(false);
};
xhr.onerror = function onError() {
cb(false);
};
}
};
}
从我用Google搜索,我设置responseText
的原因是我设置_extendHelper
,但我没有设置任何内容而是我得到了。所以,不确定那里我做错了什么。
对于function _extendHelper() {
var args = arguments;
var res = {};
if (args && args[0]) {
for (var j in args) {
for (var k in args[j]) {
res[k] = args[j][k];
}
}
}
return res;
}
,这是代码
{{1}}