JQUERY AJAX - 如何将凭据(用户和密码)传递给 Sharepoint Web 服务

标签 jquery web-services internet-explorer sharepoint firefox-addon

当我使用 Internet Explorer 调用任何 Sharepoint Web 服务时,浏览器会要求我提供凭据...但当我使用 Firefox 或 Chrome 时,我收到“401 未经授权”错误。

我正在编写一个 Firefox 扩展,因此我需要知道如何使用 JQuery 传递凭据......

 $.ajax({
    url: "http://sharepoint.xxxx.com/_vti_bin/search.asmx", 
    type: "POST",
    dataType: "xml",
    data: soapEnv,
    complete: processResult,
    contentType: "text/xml; charset=utf-8"
}); 

    $.ajax({
        url: "http://sharepoint.xxxx.com/_vti_bin/lists.asmx",
        beforeSend: function(xhr) {
            xhr.setRequestHeader("SOAPAction",
            "http://schemas.microsoft.com/sharepoint/soap/UpdateListItems");
        },
        type: "POST",
        dataType: "xml",
        data: soapEnv,
        complete: processResult,
        contentType: "text/xml; charset=utf-8"
    });

最佳答案

您应该能够使用如下方式传递用户名/密码:

$.ajax({
    url: "http://sharepoint.xxxx.com/_vti_bin/search.asmx", 
    type: "POST",
    xhrFields: {
        withCredentials: true
    },
    dataType: "xml",
    data: soapEnv,
    complete: processResult,
    contentType: "text/xml; charset=utf-8"
    username: username,
    password: password,
    crossDomain: true
});

此调用使用 xhrFields withCredentials: true 并传递用户名和密码,允许您通过调用的其余部分发送这些项目。另外,请注意 crossDomain: true 用于告诉 jQuery 进行任何必要的更改以允许跨域调用。

关于JQUERY AJAX - 如何将凭据(用户和密码)传递给 Sharepoint Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8542886/

相关文章:

javascript - slideUp 在 slideToggle 中的 fontawesome 图标上

web-services - 使用 jQuery 使用 ASP Web 服务

css - 仅由 CSS 提供带有圆形背景的 Bootstrap 字形图标

css - IE 6 中的当前选项卡水平列表导航拉伸(stretch)以填充其余的 div

internet-explorer - Cookie无法在IE中更新/覆盖

javascript - 在 Internet Explorer 6 中获取 "Label"标签(适用于单选按钮)

javascript - 如果有多个位置,如何寻址一个位置的两个 INPUT 的值

jquery - 使 "Scroll To Top"功能不显示在移动设备上

android - 在 android 应用程序中使用 .net 服务?

web-services - 是否有一种标准方法可以向您的 Web API 验证应用程序?