ajaxを使用してWCFRESTベースのサービスを呼び出しています。
ajaxメソッドは、ページが読み込まれる前に呼び出されます。ajaxリクエストのヘッダーで「トークン」を送信したいと思います。フィドラーでは、これは私が見るものです:
1.)ヘッダーにトークンが含まれていないサービスへのリクエスト(AJAX呼び出しの失敗)2。)ヘッダーにトークンが含まれている同じサービスへのリクエスト(AJAX呼び出しが渡されました)
その後、すべてがクロムとサファリで正常に動作します。ただし、IE10とMozillaでのサービス呼び出しは1つだけです。その結果、リクエストのヘッダーにトークンがないため、IE10とMozillaではサービス呼び出しが失敗します。
これは私が呼び出すメソッドです:
function callservice (method, serviceUrl, params, successHandler, errorHandler) {
$.ajax({
crossDomain: true,
type: method,
url: serviceUrl,
beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Authorization", Token); },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: successHandler,
error: errorHandler
});
function photos(data) {
alert(data);
console.log(data);
};
}
私はWebサービスとアプリケーション(このWebサービスと呼ばれる)の両方を制御します。この問題は、アプリケーションとWebサービスの両方がローカルホストでホストされている場合には発生しません。その場合、成功したサービス呼び出しは1つだけです。ただし、クロスドメイン呼び出しがある場合は、2つのAJAX呼び出しがあります。
私の質問は、AJAXリクエストが最初の試行でトークンを送信しないのはなぜですか?そして、なぜトークンは2番目のAJAX呼び出しでのみ送信されるのですか?
どんな種類の助けも大歓迎です。