Click here to Skip to main content
15,891,136 members
Articles / Programming Languages / XML
Article

Refresh Portion Of Your Web Page Using XMLHTTP

Rate me:
Please Sign up or sign in to vote.
4.31/5 (11 votes)
15 May 20012 min read 249.6K   3K   56   31
This article explains how portion of a web page can be selectively refreshed using XMLHTTP

Introduction

Did you ever have to refresh only selective part of a web page without having to refresh the whole page?. If yes, you are not alone. Fortunately, there are number of solutions which can address this issue, including remote scripting and XMLHTTP. This articles explains how a part of web page can be refreshed by using XMLHTTP, without having to refresh the whole page .

XMLHTTP

XMLHTTP object can be used to make HTTP request from the web browser to the server. XMLHTTP is part of Microsoft's XML parser and it is already installed in your machine if you have Internet Explorer.

Please refer MSDN help on how to use XMLHTTP object. Also, I recommend you reading my article Making HTTP Communication from MFC/Windows Application first, because I use the same techniques here too.

Example

Sample app screenshot

In the above example web page, we can select a country from the country list box. For a country selected, we'll display list of states/province for that country. When you click on a country, a HTTP request to the web server will be send to get all the states for the specific country. States list box will be refreshed with the result from the server. Note that we are not using the submit to send a HTTP request to the web server. Instead, we use XMLHTTP since we do not want the whole page refreshed. Also, note that both request and response are in XML string and we will have to use the XML DOM to read the node values.

If you selected Canada in the country list box, the XML request string which is send from the web browser to the web server will look like below:

HTML
<RequestStates Country='Canada'></RequestStates>

The server (i.e. states.asp in this case) will process this request and sends back XML response, which looks like as shown below:

HTML
<Response>
	<State>Alberta</State>
	<State>British Columbia</State>
	<State>Ontario</State>
	<State>Quebec</State>
</Response>

The client has to process this XML response and update the states list box. The DisplayStates() function in demo.html takes care of this functionality.

Related Articles

The article Refreshing only part of your Web Page is on the same topic. However, it uses remote scripting (not XMLHTTP) to refresh part of web page.

Installation Notes

Download the sources (states.asp and demo.html) to the root directory of your web server. Note that the sample application assumes that your web server runs on the same machine as the client. If your web server runs on different machine, you have to change the URL name in XMLHTTP's open() method (in demo.html) appropriately. This sample application will not work if the URL specified is wrong.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
India India
Dhandapani Ammasai(Dan in short) is a software delivery manager at a top tier IT company in India.

Comments and Discussions

 
GeneralRe: Client requirements? Pin
30-Aug-01 7:34
suss30-Aug-01 7:34 
GeneralRe: Client requirements? Pin
Mike McPhail21-Feb-03 7:04
Mike McPhail21-Feb-03 7:04 
AnswerRe: Client requirements? Pin
Dhandapani Ammasai22-May-01 6:42
Dhandapani Ammasai22-May-01 6:42 
AnswerCROSS BROWSER SOLUTION HERE Pin
Nathan Ridley16-Sep-02 2:30
Nathan Ridley16-Sep-02 2:30 
Generaltest Pin
16-May-01 22:22
suss16-May-01 22:22 
GeneralRe: test Pin
Anonymous6-Nov-02 6:32
Anonymous6-Nov-02 6:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.