jqueryを使用したajaxクロススクリプトリクエストで問題が発生しました。私はtest.example.comという名前のサブドメインにいて、次のようにwww.example.com/actionへのajax呼び出しを行っています。
$.ajax({
url:"http://www.example.com/action",
type:"post",
crossDomain:true,
dataType:"jsonp",
jsonp:"cross_domain_action",
xhrFields:{withCredentials:true},
success:function(data){}
});
問題は、リクエストがajaxであるかどうかをwww.example.com/actionでテストする方法がわからないことです。
CakePHP 1.3を使用していますが、関数を含む「request_handler.php」というコンポーネント呼び出しがあります。
function isAjax() {
return env('HTTP_X_REQUESTED_WITH') === "XMLHttpRequest";
}
リクエストにそのHTTPヘッダーが含まれていないことがわかりました。
X-Requested-With XMLHttpRequest
何かアイデアがあれば:)ありがとう