O primeiro parâmetro do método aberto do objeto xmlHttPrequest é o tipo solicitação e o valor pode ser obtido ou postagem. Este artigo apresenta a solicitação GET.
O objetivo da solicitação GET é principalmente obter dados. Embora as solicitações GET possam passar dados, o objetivo de passar dados é informar ao servidor qual conteúdo nos fornecer.
Ao usar a solicitação GET, os parâmetros são passados com o URL.
Ao usar as solicitações GET, elas são facilmente armazenadas em cache; portanto, você precisa prestar atenção aos problemas de cache.
Ao usar a solicitação GET, o lado do servidor deve usar a solicitação.QueryString [dados] para obter dados.
Utilizamos a solicitação GET no artigo "Complete a instância do Ajax". Encontramos os seguintes problemas naquele momento:
- Como criar um objeto xmlHttPrequest que pode ser executado na maioria dos navegadores.
- Há um problema de armazenamento em cache ao usar a solicitação Get
- Problema chinês ilegal
Entre eles, o primeiro problema foi resolvido no artigo "Objeto XmlHttPrequest";
Para o segundo problema, o motivo é:
A solicitação GET acessará o cache sempre para ver se há um URL correspondente. Se houver, o URL no cache será devolvido. Se não houver, será feita uma solicitação ao servidor.
Solução:
1. Adicione um parâmetro de mudança dinâmica ao URL para descobrir que cada vez que você acessa um URL diferente, para que uma nova solicitação seja emitida ao servidor sempre.
Para a terceira pergunta, vamos primeiro olhar os motivos do código distorcido:
Os dados retornados pelo XMLHTTP são UFT-8 por padrão. Se a página do cliente for GB2312 ou outra codificação, ocorrerá um código ilegal.
Solução:
1. Se o cliente for GB2312, quando a saída, especifique a codificação do fluxo de saída.
2. Tanto o cliente quanto o servidor usam a codificação UTF-8
3. Certifique -se de usar o método codeuricomponent para codificar os parâmetros
Preste atenção ao exemplo:
O arquivo HTML da página não foi alterado. O conhecimento do código JS de mudança é o seguinte:
<script type = "text/javascript"> function btn_click () {// crie xmlHttPrequest Object var xmlhttp = window.xmlhttPrequest (): new ActiveXObject ("microsoft.xmlhttp"); // obtenha o valor var userName = document.getElementById ("txt_username"). Value; var Age = document.getElementById ("txt_age"). //Configure XMLHttpRequest object //Use encode URIComponent method to encode the obtained parameters//Add parameters to access different urls each time to avoid cache problems xmlHttp.open("get", "Get.aspx?username=" + encodeURIComponent(username) + "&age=" + encodeURIComponent(age) + "&random=" + Math.random ()); // Defina a função de retorno de chamada xmlhttp.onReadyStateChange = function () {if (xmlhttp.readyState == 4 && xmlHttp.status == 200) {document.getElementByid ("resultado"). }} // Envie a solicitação, porque os parâmetros estão todos no URL, então o NULL é enviado aqui xmlHttp.send (null); } </script>
Lado do servidor:
Void Page_load protegido (remetente do objeto, EventArgs e) {Response.Clear (); string userName = request.QueryString ["nome de usuário"]; string Age = request.QueryString ["Age"]; Response.Write ("Nome: '" + Nome de usuário + "' <br/> Idade:" + Age + "<br/> Time: '" + DateTime.now.toString () + "'"); Response.end ();}// fonte de http://www.vevb.com/oneword/archive/2011/06/04/2072585.html