从JavaScript使用基本HTTP自动验证调用REST服务

从JavaScript使用基本HTTP自动验证调用REST服务,javascript,ajax,rest,sharepoint,basic-authentication,Javascript,Ajax,Rest,Sharepoint,Basic Authentication,我试图调用一个REST服务,该服务使用SharePoint页面上呈现的JavaScript的基本身份验证。对于基本身份验证,它应该使用用户登录sharepoint时使用的凭据 我尝试使用withCredentials=true执行此操作,但它不起作用,REST服务不会从呼叫中接收任何凭据 jQuery.support.cors = true; jQuery.ajax({ url: "https://myurl?and=parameters", crossDomain: true,

我试图调用一个REST服务,该服务使用SharePoint页面上呈现的JavaScript的基本身份验证。对于基本身份验证,它应该使用用户登录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是jQuery1.7.2的句柄

还有别的办法吗?我错过了什么

编辑:我在IE和Firefox中有不同的行为,我使用了 嗅探器检查正在发生的情况:

IE-浏览器甚至不尝试发送请求或飞行前。。。JavaScript跳入错误函数,说访问被拒绝,甚至没有尝试

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


我使用JSON RPC来实现它。嗯,我不确定这对我的问题有什么帮助。您能解释一下,与通过REST服务使用JSON相比,使用JSON RPC有什么好处吗?这是使用REST的标准方式,您的数据通信是用JSON完成的。您可以通过此API无缝地与服务器通信,还可以在必要时执行批处理调用此REST服务在同一域上吗?例如,如果你的页面在下面,那么你的REST服务也应该在下面。如果不是这样,那么由于安全原因,您就不能使用AJAX来完成这项工作。如果它位于同一域/服务器上,则身份验证应该是自动的,就像调用Sharepoint Web Services时一样…@AymKdn,不,它不在同一域上。如果域的一部分是相同的,那么它会算数吗?像sharepoint.mycompany.com和middleware.mycompany.com。。。我想,这是我们可以做到的。。。