Der erste Parameter der offenen Methode des XMLHTTPrequest-Objekts ist der Anforderungstyp, und der Wert kann erhalten oder post sein. In diesem Artikel wird die Get -Anfrage vorgestellt.
Der Zweck der Get -Anfrage besteht hauptsächlich darin, Daten zu erhalten. Obwohl GET -Anfragen Daten übergeben können, besteht der Zweck des Datenübergabes darin, dem Server mitzuteilen, welche Inhalte uns geben sollen.
Bei der Verwendung von GET -Anforderung werden die Parameter mit der URL übergeben.
Bei Verwendung von GET -Anfragen können sie leicht zwischengespeichert werden, sodass Sie auf Caching -Probleme achten müssen.
Bei der Verwendung von GET -Anforderung sollte die Serverseite Request.queryString [Daten] verwenden, um Daten zu erhalten.
Wir haben die GET -Anfrage in dem Artikel "Vollständige AJAX -Instanz" verwendet. Wir haben zu dieser Zeit die folgenden Probleme gestoßen:
- So erstellen Sie ein XMLHTTPrequest -Objekt, das in den meisten Browsern ausgeführt werden kann.
- Bei der Verwendung von GET -Anforderung gibt es ein Caching -Problem
- Chinesisch verstümmeltes Problem
Unter ihnen wurde das erste Problem in dem Artikel "xmlHttprequest -Objekt" gelöst.
Aus dem zweiten Problem ist der Grund:
Die GET -Anfrage greift jedes Mal auf den Cache zu, um festzustellen, ob eine passende URL vorhanden ist. Wenn dies der Fall ist, wird die URL im Cache zurückgegeben. Wenn es nein gibt, wird an den Server eine Anfrage gestellt.
Lösung:
1. Fügen Sie der URL einen Parameter für dynamische Änderungen hinzu, um festzustellen, dass Sie jedes Mal, wenn Sie auf eine andere URL zugreifen, so dass jedes Mal eine neue Anfrage an den Server ausgegeben wird.
Schauen wir uns für die dritte Frage zunächst die Gründe für den verstümmelten Code an:
Die von XMLHTTP zurückgegebenen Daten sind standardmäßig UFT-8. Wenn die Client -Seite GB2312 oder eine andere Codierung ist, tritt ein verstümmelter Code auf.
Lösung:
1. Wenn der Client GB2312 ist, geben Sie bei Ausgabe die Ausgabestream -Codierung an.
2. Sowohl der Client als auch der Server verwenden die UTF-8-Codierung
3.. Verwenden Sie unbedingt die Encodeuricomponent -Methode, um die Parameter zu codieren
Achten Sie auf das Beispiel:
Die Seite HTML -Datei von Seite hat sich nicht geändert. Die Kenntnis des Änderungs -JS -Codes lautet wie folgt:
<script type = "text/javaScript"> Funktion btn_click () {// erstellen xmlhttpRequest -Objekt var xmlhttp = window.xmlhttprequest (): new ActiveXObject ("microsoft.xmlhttp"); // den value var username = document.getElementById ("txt_username"). Wert; var age = document.getElementById ("txt_age"). Wert; // Konfigurieren Sie das XMLHTTPREquest -Objekt // Verwenden Sie die Codemethode der Codemomponent, um die erhaltenen Parameter zu codieren // Parameter hinzufügen, um auf verschiedene URLs zuzugreifen, um Cache -Probleme zu vermeiden. Math.random ()); // Setzen Sie die Rückruffunktion xmlhttp.onReadyStatechange = function () {if (xmlhttp.readystate == 4 && xmlhttp.status == 200) {document.getElementById ("Ergebnis"). InnerHtml = xmlhttp.Responsext; }} // Senden Sie die Anforderung, da die Parameter alle in der URL sind, so dass null hier xmlhttp.send (null) gesendet wird; } </script>
Serverseite:
Protected void page_load (Objektabsender, eventArgs e) {response.clear (); String username = request.queryString ["userername"]; String Age = Request.queryString ["Alter"]; Response.write ("name: '" + userername + "' <br/> Alter:" + Alter + "<br/> Zeit: '" + datetime.now.toString () + "'"); Antwort.end ();}// Quelle von http://www.vevb.com/oneword/archive/2011/06/04/2072585.html