ホームページ  >  記事  >  バックエンド開発  >  jQuery AJAX 呼び出しで「エラー: セレクターがアクティブになりました」というメッセージと間違った JSON データが受信されるのはなぜですか?

jQuery AJAX 呼び出しで「エラー: セレクターがアクティブになりました」というメッセージと間違った JSON データが受信されるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-02 19:06:30135ブラウズ

Why is my jQuery AJAX call receiving an

jQuery AJAX 呼び出しに対する PHP 応答

この説明では、AJAX 呼び出しに応答して PHP から JSON を返す問題について検討します。 jQuery を使用して作成されました。

問題の概要

ユーザーは、jQuery の AJAX 呼び出しに対して PHP から返される JSON 応答を処理する際に課題に直面しています。この問題は、「エラー: セレクターが有効になりました」というメッセージと、間違った JSON データがリストされることで明らかになります。

PHP コード分析

提供された PHP コードは配列をエンコードしているようですJSON に変換し、結果をエコーし​​ます。ただし、$output 変数は echo ステートメントで指定されていません。 JSON を正しく出力するには、次のようにする必要があります:

<code class="php">echo $output;</code>

jQuery および AJAX コード

jQuery および AJAX コードでは、dataType が「json」に設定されています。 。」これは、サーバーからの JSON 応答を期待していることを jQuery に示します。

JSON データ リスト

「想定される JSON データのリスト」セクションに示されている出力HTTP ヘッダーとその他のメタデータが含まれていますが、予期される JSON データは含まれていません。これは、JSON 応答が適切に処理されていないことを示しています。

解決策

この問題に対処するには、次のコマンドを使用して JSON を返すように PHP コードをリファクタリングすることをお勧めします。 method:

<code class="php">header('Content-Type: application/json');
echo json_encode(array('foo' => 'bar'));
exit;</code>

このアプローチでは、HTTP ヘッダーを「application/json」に設定し、必要な JSON データをエコーする前にエンコードします。これにより、正しい JSON 応答が jQuery AJAX 呼び出しに返され、「セレクターがアクティブ化されました」エラーは解決されるはずです。

以上がjQuery AJAX 呼び出しで「エラー: セレクターがアクティブになりました」というメッセージと間違った JSON データが受信されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。