$.load 内のフォーム データ投稿の問題
$.load を使用して外部コンテンツをコンテナに動的にロードする場合、特定の問題が発生する可能性がありますフォームデータをターゲットページに投稿します。あなたが遭遇したように、ロードされたページにデータが正しく渡されない可能性があります。
AJAX の原則を理解する
この動作が発生する理由を理解するには、次のことを把握することが重要です。 AJAX (非同期 JavaScript および XML) の概念。 $.load を使用すると、指定された URL からコンテンツを取得するために AJAX リクエストが開始されます。ただし、デフォルトでは、これらのリクエストは GET に設定されており、データの投稿には適していません。
解決策: jQuery の AJAX 関数を使用する
この問題を解決するには、 $.load 内でのデータ投稿を有効にするには、jQuery のネイティブ AJAX 関数を使用する必要があります。
$.ajax({ type: "POST", url: "MonsterRequest.php", data: TestVar, success:function(data){ $('#CenterPiece').html(data); // Alternatively, you can use .load() here } });
POST メソッドを使用すると、TestVar データが MonsterRequest.php に正しく送信されます。その後、成功ハンドラーを利用してサーバー応答を処理し、それに応じて #CenterPiece コンテナを更新できます。
$.load へのフォーム データの埋め込み
必要な場合フォーム データを $.load URL に直接埋め込むには、それを明示的に指定することで実行できます。パラメータ:
$('#CenterPiece').load("MonsterRequest.php?data=" + TestVar);
このメソッドはデータを URL の一部として埋め込み、表示できるようにすることに注意してください。セキュリティを強化するには、前に説明した AJAX メソッドの使用を検討してください。
追加のヒント
以上が$.load がフォーム データを正しくポストしないのはなぜですか? jQuery を使用して修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。