6

Apache プリエンティブ基本認証で実行されているいくつかの RESTful サービスに到達しようとしています。私はjquery Ajaxを使用しており、「Authentication」ヘッダーを使用してユーザーとパスワードを送信しています。ただし、リクエストが実行されるたびに空のエラーがスローされます。

完全な $.ajax 呼び出しは次のとおりです。

$.ajax({
      cache:false,
      url: urladdress,
      type:'GET',
      async:false,
      headers: { "cache-control": "no-cache" },
      dataType: "html", //or xml or json
      contentType: "html",
       beforeSend : function(req) 
       {
          req.setRequestHeader('Authorization', "Basic " +  base64string); //user:password);
       },
      success: function(data){
         successcallback(data);
      },
      error: function(xhRequest, ErrorText, thrownError){
           alert("ERROR: "+ JSON.stringify(xhRequest));
      },
      complete: function(result){
        ...
      }
});

私が間違っていることは何ですか?ここで無視しているものはありますか?ありがとう。

4

1 に答える 1

1

ソリューションはサーバー側にあります。クロスドメインの作業に応じて、いくつかのカスタム ヘッダーを含める必要があります。実験では、応答として次のヘッダーを送信します。

Access-Control-Allow-Origin: yourApiDomain

アクセス制御許可メソッド: *

  • カスタム ヘッダーを使用する場合:

    Access-Control-Expose-Headers: X-My-Custom-Header、X-Another-Custom-Header

    Access-Control-Allow-Headers: X-My-Custom-Header、X-Another-Custom-Header

  • HTTP Cookie と HTTP 認証情報を使用する場合:

    Access-Control-Allow-Credentials: true

詳細については、MDN の CORS に関するドキュメントを参照してください。

于 2013-05-02T13:57:00.993 に答える