使用JavaScript中的基本HTTP身份验证调用REST服务

时间:2013-12-18 10:52:34

标签: javascript ajax rest sharepoint http-basic-authentication

我正在尝试调用从SharePoint页面上呈现的JavaScript使用基本身份验证的REST服务。对于基本身份验证,它应使用用户登录到sharepoint的凭据。

我尝试使用withCredentials = true执行此操作,但它不起作用,REST服务不会从调用中收到任何凭据。

jQuery.support.cors = true;
jQuery.ajax({
    url: "https://myurl?and=parameters",
    crossDomain: true,
    processData: false,
    type: "GET",
    dataType: "json",
    data: {},
    beforeSend: function (xhr) {
        xhr.withCredentials = true;
    },
    success: function (data, textStatus, jqXHR) {
        alert("Success");
    },
    error: function (jqXHR, textStatus, errorThrown) {
        alert(textStatus + ": " + jqXHR.status + " / " + jqXHR.responseText + " / " + errorThrown);
    }
});

(jQuery是jQuery 1.7.2的句柄)

还有其他办法吗?我错过了什么?

  编辑:我在IE和Firefox中有不同的行为,我用了一个   嗅探器检查发生了什么:

     

IE - 浏览器甚至没有尝试发送请求或预检...... JavaScript跳转到错误函数,说“访问被拒绝”,甚至没有尝试。

     

Firefox - 浏览器发送经过身份验证的请求,服务器会使用正确的用户接收并回答。客户端收到一个带有数据的OK 200结果......但是:然后JavaScript进入错误函数,只是说“错误”(状态0)。

0 个答案:

没有答案