Hvordan få XMLHTTP Fra tilbakeringing Ajax

Asynkron Javascript og XML, også kjent som AJAX, tilbyr webutviklere et sett av teknikker som omdanner statiske websider til dynamiske, interaktive Web apps. Lære å bruke AJAX er ikke vanskelig, det krever bare en viss forståelse av hvordan kommunikasjonsprosessen fungerer. En forespørsel blir sendt til serveren, men i stedet for å vente på svar, bruker prosessen en teknikk kjent som en "tilbakeringing". Når serveren endelig svarer, utfører en egen funksjon for tilbakeringing. Følg disse trinnene for å lage din egen AJAX tilbakering funksjon.

Bruksanvisning

1 Åpne Visual studio og lage en ny Visual Basic webprosjekt. Klikk på "File" og deretter "New Project". Når det nye prosjektet vinduet vises, velg "Visual Basic / Web" fra trevisningen og klikk på "ASP.Net Web Application" -ikonet. Navn prosjektet "AjaxSample" og klikk "OK." Etter en kort ventetid, vil et nytt prosjekt arbeidsområde vises.

2 Lag en enkel webtjeneste. Klikk "Project" og "Legg til nytt element." Klikk på "Web Form" -ikonet. Name it "Service1" og klikk Når utformingsvinduet vises, høyreklikker du på vinduet og velg Legg til følgende kode i Page_Load handler "Legg til". "Vis kode.":

Beskyttet Sub Page_Load (ByVal sender As Object, ByVal e As System.EventArgs) Håndtak Me.Load

Response.Clear()
Response.Write("Hello World!")
Response.End()
End Sub

Når denne siden er bedt om, blir teksten "Hello World!" Sendt i stedet for en HTML-side.

3 Åpne markup for default.aspx. På Solution Explorer-vinduet, høyreklikk på "default.aspx" og velg Legg til to overskrifter og en knapp til skjemaet som følger "Vis markering.":

<% @ Page Tittel = "Home Page" Language = "vb" MasterPageFile = "~ / Site.Master" AutoEventWireup = "false"

CodeBehind=&quot;Default.aspx.vb&quot; Inherits=&quot;AjaxSample._Default&quot; %>

<Asp: Content ID = "HeaderContent" runat = "server" ContentPlaceHolderID = "HeadContent">
</ Asp: Content>
<Asp: Content ID = "BodyContent" runat = "server" ContentPlaceHolderID = "Maincontent">

&lt;h2>
AJAX Sample
&lt;/h2>
&lt;h3 id=&quot;title2&quot;>&lt;/h3>
&lt;input type=&quot;button&quot; id=&quot;btnTest&quot; value=&quot;Test&quot; onclick='btnTest_click()' />

4 Legg til Javascript-kode som kaller webtjeneste. Start med å erklære en global variabel rqst som vil holde XMLHttpRequest objektet:

<Script type = "text / javascript">
Var rqst;

5 Lag en funksjon for å håndtere knappens klikkhendelsen:

fungere btnTest_click () {

rqst = new XMLHttpRequest();
rqst.open(&quot;get&quot;, &quot;Service1.aspx&quot;, true);
rqst.onreadystatechange = getResponse;
rqst.send();

}

Denne funksjonen lager en XMLHttpRequest objekt, kaller sin åpne metoden med nettadressen til webtjenesten (Service1.aspx), setter tilbakeringingsfunksjonen deretter kaller sin sende metode for å sende forespørselen.

6 Opprett GetResponse funksjon ved hjelp av følgende kode:

funksjon GetResponse () {

var title2 = document.getElementById(&quot;title2&quot;);
if (rqst.readyState == 4)
title2.innerHTML = rqst.responseText;

}
</ Script>
</ Asp: Content>

Serveren kan svare flere ganger, endre readyState fra null til 4. Når verdien endres til fire, er komplett respons og du kan hente resultatet ved hjelp av XMLHttpRequest sin response eiendom. Denne verdien er plassert inne i andre-siden tittelen (h3).

7 Kjør programmet. Klikk på "F5" for å åpne siden. Klikk på "Test" knappen for å kjøre Javascript-kode.

Hint

  • Visual Basic 2010 ble valgt fordi det gir en innebygd webserver og en enkel måte å lage tjenesten.
  • Denne koden fungerer ikke med Internet Explorer 6 eller tidligere.