2

練習用に独自の 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 呼び出しの検出にセキュリティ上の問題はありますか?

HTMLXMLなどの異なるタイプの呼び出しでない限り、フレームワーク内のすべての ajax 呼び出しにはdataType: 'json'が必要であることに注意してください。

4

2 に答える 2

3

Colin Morelli が主な質問に答えましたが、これはフォローアップに役立つはずです。

XMLHttpRequest は ajax 呼び出しを意味しますか? XMLまたはJSONの場合、どのようにタイプを検出しますか

はい。XMLHttpRequest は、リクエストを行う JavaScript オブジェクトです。ただし、今は名前が不十分です。必要なものを何でも送信できるためです。2 番目の質問に答えるには、受け取ったペイロードに対して何らかの解析を試みる必要があります。XML をスキャンできます。見つからない場合は、JSON であると想定して解析を試みます。

于 2013-07-23T17:07:03.287 に答える