ホームページ  >  記事  >  ウェブフロントエンド  >  Ajax で get および post を使用するときに発生する問題とその対処方法

Ajax で get および post を使用するときに発生する問題とその対処方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-04 11:31:251677ブラウズ

今回は、Ajax で get と post を使用するときに発生する問題と、その対処方法について説明します。実際のケースを見てみましょう。

get の使用時に発生する問題: 1. 問題 1. キャッシュ: 毎回アクセスする URL が同じ場合、クライアントは、バックグラウンド データが変更された場合でも、ローカル キャッシュの内容を直接読み取ります。フロントエンドは変更されません

解決策: でしょうか?次に、num=[乱数 Math.random()] または num=[

timestamp

new Date().getTime()], '1.php?username="May"&'+num ( はありません) をリンクします。バックグラウンドパラメータとの競合を避けるための変数名) 2. 問題 2. 文字化け。中国語または

特殊文字

が渡されると、文字化けがフロントエンドの表示に表示されます。解決策: エンコード encodeURI('snail') を使用します。

テスト結果: Chrome を使用してテストすることにより、get の 2 つの問題が解決されました。

post メソッドを使用するときに発生する問題: データは send() のパラメーターとして渡されます。 問題: リクエスト ヘッダーが設定されていない場合、バックグラウンドはデータを直接処理しません。フロント デスクはバックグラウンドから返されたデータを取得できません。 解決策: リクエスト ヘッダー (xhr.setRequestHeader('content-type') を手動で設定します。 ,'application/x- www-form-urlencoded'))、送信されるデータ型を宣言します

[注] 投稿にはキャッシュの問題やエンコーディングの問題はありません (リクエストヘッダーで宣言されているため)

テスト結果: Chromeを使用してテストした結果、投稿ではヘッダー情報が宣言されず、問題が発生します: Getリクエストと

Postリクエストの違い

1.パラメータは URL に表示されますが、Post メソッドを使用すると表示されません

2. 少量のデータを送信するには Get リクエストを使用し、大量のデータを送信するには Post リクエストを使用します

この記事の事例を読んだ後は、PHP 中国語 Web サイトの他の関連記事にも注目してください。 推奨読書: Ajax はネットワークリクエストのカプセル化をどのように実装していますか?

Ajax はクリック時に切断せずにデータ読み込みリストをどのように実装していますか?

以上がAjax で get および post を使用するときに発生する問題とその対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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