本文整理汇总了TypeScript中@ephox/sand.XMLHttpRequest.open方法的典型用法代码示例。如果您正苦于以下问题:TypeScript XMLHttpRequest.open方法的具体用法?TypeScript XMLHttpRequest.open怎么用?TypeScript XMLHttpRequest.open使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ephox/sand.XMLHttpRequest
的用法示例。
在下文中一共展示了XMLHttpRequest.open方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: Promise
return new Promise(function (resolve, reject) {
const rejectWithError = function () {
reject('Cannot convert ' + url + ' to Blob. Resource might not exist or is inaccessible.');
};
try {
const xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function () {
if (this.status === 200) {
resolve(this.response);
} else {
// IE11 makes it into onload but responds with status 500
rejectWithError();
}
};
// Chrome fires an error event instead of the exception
// Also there seems to be no way to intercept the message that is logged to the console
xhr.onerror = rejectWithError;
xhr.send();
} catch (ex) {
rejectWithError();
}
});
示例2: function
const defaultHandler = function (blobInfo, success, failure, progress) {
let xhr, formData;
xhr = new XMLHttpRequest();
xhr.open('POST', settings.url);
xhr.withCredentials = settings.credentials;
xhr.upload.onprogress = function (e) {
progress(e.loaded / e.total * 100);
};
xhr.onerror = function () {
failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status);
};
xhr.onload = function () {
let json;
if (xhr.status < 200 || xhr.status >= 300) {
failure('HTTP Error: ' + xhr.status);
return;
}
json = JSON.parse(xhr.responseText);
if (!json || typeof json.location !== 'string') {
failure('Invalid JSON: ' + xhr.responseText);
return;
}
success(pathJoin(settings.basePath, json.location));
};
formData = new FormData(); // TODO: Stick this in sand
formData.append('file', blobInfo.blob(), blobInfo.filename());
xhr.send(formData);
};
示例3: XMLHttpRequest
return new Promise<{status: number, blob: Blob}>(function (resolve) {
let xhr;
xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
resolve({
status: xhr.status,
blob: this.response
});
}
};
xhr.open('GET', url, true);
Tools.each(headers, function (value, key) {
xhr.setRequestHeader(key, value);
});
xhr.responseType = 'blob';
xhr.send();
});
示例4: XMLHttpRequest
settings.scope = settings.scope || this;
settings.success_scope = settings.success_scope || settings.scope;
settings.error_scope = settings.error_scope || settings.scope;
settings.async = settings.async === false ? false : true;
settings.data = settings.data || '';
XHR.fire('beforeInitialize', { settings });
xhr = new XMLHttpRequest();
if (xhr) {
if (xhr.overrideMimeType) {
xhr.overrideMimeType(settings.content_type);
}
xhr.open(settings.type || (settings.data ? 'POST' : 'GET'), settings.url, settings.async);
if (settings.crossDomain) {
xhr.withCredentials = true;
}
if (settings.content_type) {
xhr.setRequestHeader('Content-Type', settings.content_type);
}
if (settings.requestheaders) {
Tools.each(settings.requestheaders, function (header) {
xhr.setRequestHeader(header.key, header.value);
});
}