xmlhttprequestオブジェクトのオープンメソッドの最初のパラメーターはリクエストタイプであり、値を取得または投稿できます。この記事では、GETリクエストを紹介します。
Get Requestの目的は、主にデータを取得することです。 GETリクエストはデータを渡すことができますが、データを渡す目的は、サーバーにどのコンテンツを与えるかを伝えることです。
Get Requestを使用すると、パラメーターはURLで渡されます。
Get Requestsを使用する場合、簡単にキャッシュされるため、キャッシュの問題に注意を払う必要があります。
Get Requestを使用する場合、サーバー側はrequest.querystring [data]を使用してデータを取得する必要があります。
記事「Complete Ajaxインスタンス」でGETリクエストを使用しました。当時、次の問題に遭遇しました。
- ほとんどのブラウザで実行できるXMLHTTPREQUESTオブジェクトを作成する方法。
- Get Requestを使用すると、キャッシュの問題があります
- 中国の文字化けの問題
その中で、最初の問題は記事「xmlhttprequestオブジェクト」で解決されました。
2番目の問題については、理由は次のとおりです。
GETリクエストは、毎回キャッシュにアクセスして、URLが一致するかどうかを確認します。ある場合、キャッシュ内のURLが返されます。いない場合は、サーバーにリクエストが行われます。
解決:
1.動的変更パラメーターをURLに追加して、別のURLにアクセスするたびに、新しいリクエストが毎回サーバーに発行されることを確認します。
3番目の質問については、まず、文字化けしたコードの理由を見てみましょう。
XMLHTTPによって返されるデータは、デフォルトでUFT-8です。クライアントページがGB2312または他のエンコードの場合、文字化けコードが発生します。
解決:
1.クライアントがGB2312の場合、出力時に出力ストリームエンコーディングを指定します。
2.クライアントとサーバーの両方がUTF-8エンコーディングを使用します
3. ecodeuricomponentメソッドを使用してパラメーターをエンコードしてください
例に注意してください:
ページHTMLファイルは変更されていません。 JSコードの変更に関する知識は次のとおりです。
<script type = "text/javascript"> function btn_click(){// xmlhttprequestオブジェクトvar xmlhttp = window.xmlhttprequest():new ActiveXObject( "microsoft.xmlhttp"); //値を取得var username = document.getElementById( "txt_username")。value; var age = document.getElementById( "txt_age")。value; // xmlhttprequestオブジェクトの構成math.random()); //コールバック関数を設定xmlhttp.onreadystatechange = function(){if(xmlhttp.readystate == 4 && xmlhttp.status == 200){document.getElementById( "result")。 }} //リクエストを送信します。パラメーターがすべてURLにあるため、nullがここに送信されますxmlhttp.send(null); } </script>
サーバー側:
保護されたvoid page_load(object sender、eventargs e){respons.clear(); string username = request.querystring ["username"]; string age = request.querystring ["age"]; Response.Write( "name: '" + username + "' <br/> age:" + age + "<br/> time: '" + datetime.now.tostring() + "'"); Response.End();}// http://www.vevb.com/oneword/archive/2011/06/04/2072585.htmlからのソース