ホームページ > 記事 > ウェブフロントエンド > jQuery AJAX リクエストが JSON ではなくプレーン テキストとしてデータを送信するのはなぜですか?
Web 開発では、多くの場合、クライアント側とサーバーの間でデータを効率的に送信することが重要です。人気の JavaScript ライブラリである jQuery は、このようなデータ交換を処理するための便利なメソッドを提供します。一般的なタスクの 1 つは、jQuery を使用して JSON 形式でサーバーにデータを送信することです。
ただし、開発者は、データが目的の JSON 形式ではなくプレーン テキストとして送信されるという問題に遭遇することがあります。これが発生する理由を理解するために、コード スニペットを調べてみましょう。
var arr = {City:'Moscow', Age:25}; $.ajax( { url: "Ajax.ashx", type: "POST", data: arr, dataType: 'json', async: false, success: function(msg) { alert(msg); } } );
このコードは、$.ajax メソッドを使用して、arr オブジェクト内のデータを Ajax.ashx サーバーに送信しようとします。ただし、この問題は、コードでリクエストのコンテンツ タイプが指定されていない、または JSON リクエストが正しく構築されていないために発生します。
これを修正するには、JSON.stringify メソッドを使用して JavaScript オブジェクトをネイティブ JSON 文字列に変換する必要があります。 :
var arr = { City: 'Moscow', Age: 25 }; $.ajax({ url: 'Ajax.ashx', type: 'POST', data: JSON.stringify(arr), contentType: 'application/json; charset=utf-8', dataType: 'json', async: false, success: function(msg) { alert(msg); } });
注意すべき重要なポイント:
追加の考慮事項:
以上がjQuery AJAX リクエストが JSON ではなくプレーン テキストとしてデータを送信するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。