使用XmlHttpRequest对象启用CORS的PUT请求

时间:2014-02-11 21:07:31

标签: javascript jquery ajax xmlhttprequest cors

我正在向启用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.) 

我做错了什么?

0 个答案:

没有答案