練習用に独自の MVC フレームワークを作成しており、Request クラスがあります。AJAX/JSON 呼び出しまたは HTML/XML 要求のいずれであっても、要求のタイプをキャッチし、それに応じてデータを解析したいと考えています。
私は現在使用しています:
$_SERVER['HTTP_ACCEPT']
以上で var_dump を使用すると、このためにapplication/jsonが返されます。
$.ajax({
type: 'post',
url: 'index',
dataType: 'json',
data: {
_method: 'put'
}
});
var_dump($_SERVER['HTTP_ACCEPT'])は以下を返します:
string(46) "application/json, text/javascript, */*; q=0.01"
質問: この方法は信頼できますか? それは常に機能しますか?このような ajax 呼び出しの検出にセキュリティ上の問題はありますか?
HTMLやXMLなどの異なるタイプの呼び出しでない限り、フレームワーク内のすべての ajax 呼び出しにはdataType: 'json'が必要であることに注意してください。