Kohana ORM Auth を使用した Web サイトがあります。私は ajax 経由で呼び出されたときにユーザーがログインしているかどうかを確認し、ユーザーの役割に対応する json_encoded データを返す URL を持っています。この URL は、通常のブラウザ ウィンドウで試してみると正常に機能しています。正しい値を返していましたが、AJAX 呼び出しを介して試行すると、ユーザーがログインしていると確信していても、Auth::instance()->logged_in() は FALSE を返します。次のリンク jQueryに記載されている手順に従っています。 getJSON は Cookie を送信 しませんが、問題は解決しませんでした。
これまでに行ったことは、ベースコントローラーと、リクエストアクションが記述されているファイルに次の行を追加したことです
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header('Access-Control-Allow-Credentials: TRUE');
実際のリクエストを送信する前のajaxでは、次のコードが書かれています
beforeSend: function(xhr){
xhr.withCredentials = true;
},
編集 - - - - - - -
以下を使用してみましたが、CORの問題が発生しました。
$.ajax({
type: 'GET',
url: "http://www.domain.com/web/joblist",
xhrFields: {
withCredentials: true
},
dataType: "json",
data:{
"tab":currentTab,
"page":currentPage,
"filter":filterStr
},
success: function(json){ ...
},
error: function(e) {
...
}
});