AJAX + jQuery + SAP Auth + Basic Authenticacion = 401未经授权。 (代码+图片)

时间:2014-08-30 02:26:46

标签: jquery ajax web-services sap

好吧,我找不到出路。我谷歌很多,尝试不同的方式,代码示例等等,我有这个奇怪的问题。 在SoapUI中,我可以测试Web服务,甚至可以进行身份​​验证以测试服务。 但... 我不能通过代码来实现它。

所以这里有一些打印屏幕和我正在尝试的代码。 如果你们可以帮助我。 我会很感激的。

感谢。

CODE:---------------

    var WEBSERVICE_URL = "http : // webservice:port/bla/bla/bla";
    $.ajax({
        url: WEBSERVICE_URL,
        type: "POST",
        dataType: "json",
        username: "user",
        password: "password",
        processData: false,
 crossDomain: true,
        contentType: "application/json",
beforeSend: function (xhr) {
xhr.setRequestHeader ("Authorization", "Basic SomeLettersAndNumbers_I_GotBySoapUI_IKnowHereItGoesTheKeyString==");
},
        success: function () {
            alert("success");
        },
        error: function (xhr, ajaxOptions, thrownError) { //Add these parameters to display the required response
            alert(xhr.status);
            alert(xhr.responseText);
        },
    });

image1

image2

2 个答案:

答案 0 :(得分:0)

    username "user",
    password: "password",

应该是

data: {
    username: "user",
    password: "password"
},

可能只是其中一个问题。我不确定

答案 1 :(得分:0)

您似乎正在尝试提出跨网站请求。我想这导致JQuery将结果显示为401,这并不是特别有用,因为实际上似乎发生的事情是请求从未进入服务器。您可以通过在Chrome上使用一些特殊选项来解决此问题,但我不认为这将在标准浏览器上运行,除非您可以让服务器提供必要的访问控制标头。