web-dev-qa-db-ja.com

jquery ajax呼び出しを使用してWebサービスの資格情報を渡す方法は?

次のようにjquery ajax呼び出しを使用しています。

$.ajax({
         url: WEBSERVICE_URL,
            type: "GET",
            dataType: "application/json; charset=utf-8",                   
            username: "admin",  // Most SAP web services require credentials
            password: "admin",
            processData: false,
            contentType: "application/json",
            success: function() {
               alert("success");
            },
            error: function() {
                   alert("ERROR");
                },
    });

それでも、呼び出しはWebサービスに行きません。毎回エラーアラートが発生します。体がこれを助けてくれますか?

15
Sriks

メソッドタイプにpostを使用してみてください。ほとんどのWebサービスはセキュリティで保護されており、Getではなくpostを使用した移行が必要です。

さらに、エラーとエラーへの応答テキストをデバッグするのに役立ちます。

 $.ajax({
     url: WEBSERVICE_URL,
     type: "POST", //This is what you should chage
     dataType: "application/json; charset=utf-8",
     username: "admin", // Most SAP web services require credentials
     password: "admin",
     processData: false,
     contentType: "application/json",
     success: function () {
         alert("success");
     },
     error: function (xhr, ajaxOptions, thrownError) { //Add these parameters to display the required response
         alert(xhr.status);
         alert(xhr.responseText);
     },
 });
14
Mortalus

クロスドメインリクエストを行っている場合:

$.ajax({
    url: "yoururl",
    type: "GET",
    dataType: 'json',
    xhrFields: {
         withCredentials: true
    }
});
32
jiantongc