我正在向启用CORS的端点发出PUT请求。 我已经可以使用jQuery使其工作,但我无法使用普通的旧JavaScript和XmlHttpRequest对象使其工作。
以下是使用jQuery的代码。
$.ajax({
url: uri,
type: "PUT",
data: requestData,
processData: false,
beforeSend: function (xhr) {
xhr.setRequestHeader('x-ms-blob-type', 'BlockBlob');
xhr.setRequestHeader('Content-Length', requestData.length);
},
success: function (data, status) {
console.log(data);
console.log(status);
},
error: function (xhr, desc, err) {
console.log(desc);
console.log(err);
}
});
这是我简单的旧javascript代码。
var ajaxRequest = new XMLHttpRequest();
ajaxRequest.onreadystatechange = function () {
if (ajaxRequest.readyState == 4) {
console.log(ajaxRequest.readyState);
console.log(ajaxRequest.status);
}
else {
console.log("readyState " + ajaxRequest.readyState);
console.log("Status " + ajaxRequest.status);
}
};
ajaxRequest.open('PUT', uri, true);
ajaxRequest.setRequestHeader('x-ms-blob-type', 'BlockBlob');
ajaxRequest.setRequestHeader('Content-Length', requestData.length);
ajaxRequest.send(requestData);
这是我收到的错误消息:
OPTIONS <my url> 403 (CORS not enabled or no matching rule found for this request.)
我做错了什么?