9

着信要求が AJAX JSON タイプかどうかを確認する方法はありますか?

私は試した

if(($_SERVER['REQUEST_METHOD']=='JSON'))
{
}

しかし、うまくいきませんでした。

何かご意見は?

4

6 に答える 6

12

正確には、あなたはどこからあなたが知らないであろう要求を受け入れていますか?

スクリプトの先頭に、データをJSONまたはsimplexmlとしてインポートしようとする関数を含めることができます。エラーが発生した場合は、もう1つであることがわかります...

考え直してみると、JSONであることをテストしてもらうと、simplexmlはさまざまな理由でエラーをスローします。

 $json_request = (json_decode($request) != NULL) ? true : false;
于 2009-09-04T06:44:49.763 に答える
11

クライアント側からヘッダーを設定する必要があります。jQueryおよびその他のライブラリはx-requested-withヘッダーを設定します。

if(strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
   echo "Ajax request";
}
于 2009-09-04T06:41:01.333 に答える
4

ヘッダーを確認できます。jQueryX-Requested-Withなどの一部のライブラリでは、ヘッダーがに設定されています。"XMLHttpRequest"

$isAjaxRequest = $_SERVER['X_REQUESTED_WITH'] == 'XMLHttpRequest';
于 2009-09-04T06:40:34.190 に答える
4

受け入れパラメータをチェックできます.text/javascriptの場合は話しているjson、text/xmlの場合は何を推測しますか:P

$_SERVER['HTTP_ACCEPT']

于 2009-09-04T06:35:39.517 に答える
0

それを指定する追加のヘッダーをいつでも設定するか、任意の変数を使用してJSONリクエストを示すことができます。

于 2009-09-04T09:26:19.657 に答える
-2

json_decode()を試してください

于 2009-09-04T06:38:35.487 に答える