19

私は次のようなjqueryajax呼び出しを使用しています:

$.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サービスに送信されません。エラーアラートが表示されるたびに。誰かの体がこれについて私を助けてくれますか?

4

3 に答える 3

42

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

$.ajax({
    url: "yoururl",
    type: "GET",
    dataType: 'json',
    xhrFields: {
         withCredentials: true
    }
});
于 2013-07-25T01:07:16.923 に答える
14

メソッドタイプにpostを使用してみてください。ほとんどのウェブサービスは保護されており、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);
     },
 });
于 2013-01-29T09:29:20.353 に答える
0

これで私の2セント。

この問題でばかげた時間を無駄にしましたが、リクエストのメソッドをGETからPOSTに変更することで解決しました。

奇妙なことに、両方のメソッドタイプ(GET / POST)は、経由で呼び出されたときに機能Postmanしますが、POSTメソッドに変更した場合にのみWebAPIエンドポイントに到達しました。

私の場合、Windows認証を使用しているため、grant_typeのみを渡しているため、投稿時にユーザー名やパスワードを渡さなかったことに注意してください。

于 2021-01-04T16:37:44.317 に答える