JQUERY AJAX - Как передать учетные данные (пользователя и пароль) в веб-сервис Sharepoint - PullRequest
3 голосов
/ 17 декабря 2011

Когда я вызываю любой из веб-сервисов Sharepoint с помощью Internet Explorer, браузер запрашивает у меня учетные данные ... но когда я использую Firefox или Chrome, я получаю ошибку "401 Unauthorized".

Я пишу расширение 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"
    });

1 Ответ

0 голосов
/ 21 февраля 2015

Вы должны быть в состоянии передать имя пользователя / пароль, используя что-то вроде этого:

$.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 о любых необходимых изменениях для разрешения междоменных вызовов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...