// WebRequest.js
var getPage;
var postPage;
var displayElement;
function pageLoad()
{
getPage = "getTarget.htm";
postPage = "postTarget.aspx";
displayElement = $get("ResultId");
}
// This function performs a GET Web request
// to retrieve information from the Url specified in
// the query string.
function GetWebRequest()
{
alert("Performing Get Web request.");
// Instantiate the WebRequest object.
var wRequest = new Sys.Net.WebRequest();
// Set the request Url.
wRequest.set_url(getPage);
// Set the request verb.
wRequest.set_httpVerb("GET");
// Set user's context
wRequest.set_userContext("user's context");
// Set the web request completed event handler,
// for processing return data.
wRequest.add_completed(OnWebRequestCompleted);
// Clear the results page element.
displayElement.innerHTML = "";
// Execute the request.
wRequest.invoke();
}
// This function performs a POST Web request
// to upload information to the resource
// identified by the Url.
function PostWebRequest()
{
// Instantiate the WebRequest object.
var wRequest = new Sys.Net.WebRequest();
// Set the request Url.
wRequest.set_url(postPage);
// Set the request verb.
wRequest.set_httpVerb("POST");
var body = "Message=Hello! Do you hear me?"
wRequest.set_body(body);
wRequest.get_headers()["Content-Length"] = body.length;
// Set the web request completed event handler,
// for processing return data.
wRequest.add_completed(OnWebRequestCompleted);
// Clear the results page element.
displayElement.innerHTML = "";
// Execute the request.
wRequest.invoke();
}
// This function adds and removes the
// Web request completed event handler.
function WebRequestCompleted()
{
// Instantiate the WebRequest.
var wRequest = new Sys.Net.WebRequest();
// Set the request Url.
wRequest.set_url(getPage);
// Set the web request completed event handler,
// for processing return data.
wRequest.add_completed(OnWebRequestCompleted);
alert("Added Web request completed handler");
// Remove the web request completed event handler.
// Comment the following two lines if you want to
// use the handler.
wRequest.remove_completed(OnWebRequestCompleted);
alert("Removed handler; the Web request return is not processed.");
// Execute the request.
wRequest.invoke();
}
// This function gets the resolved Url
// of the Web request instance.
function GetWebRequestResolvedUrl()
{
// Instantiate the WebRequest.
var wRequest = new Sys.Net.WebRequest();
// Set the request Url.
wRequest.set_url(getPage);
// Get the web request completed event handler.
var resUrl = wRequest.getResolvedUrl();
alert("Resolved Url: " + resUrl);
// Set the web request completed event handler,
// for processing return data.
wRequest.add_completed(OnWebRequestCompleted);
// Execute the request.
wRequest.invoke();
}
// This function gets and sets the
// Web request time out.
function WebRequestTimeout()
{
// Instantiate the WebRequest.
var wRequest = new Sys.Net.WebRequest();
// Set the request Url.
wRequest.set_url(getPage);
var defaultTimeout =
wRequest.get_timeout();
// Set request timeout to 100 msec.
wRequest.set_timeout(100);
var newTimeout =
wRequest.get_timeout();
alert("Default timeout: " + defaultTimeout);
alert("New timeout: " + newTimeout);
// Set the web request completed event handler,
// for processing return data.
wRequest.add_completed(OnWebRequestCompleted);
// Execute the request.
wRequest.invoke();
}
// This function sets the Web request
// executor, replacing the default one.
function WebRequestExecutor()
{
// Instantiate the WebRequest.
var wRequest = new Sys.Net.WebRequest();
// Create the executor. In this case it is an
// XMLHttpExecutor, equivalent to the default
// executor. But, you can create a custom one.
var executor = new Sys.Net.XMLHttpExecutor();
// Set the executor, replacing the default one.
// In this case the executor is equivalent to the
// default one.
wRequest.set_executor(executor);
// Get the current executor
var executor =
wRequest.get_executor();
alert("Response availabe: " + executor.get_responseAvailable())
}
// This function sets an HTTP header for
// the Web request.
function WebRequestHeader()
{
// Instantiate the WebRequest object.
var wRequest = new Sys.Net.WebRequest();
// Set the request Url.
wRequest.set_url(postPage);
// Set the request verb.
wRequest.set_httpVerb("POST");
var body = "Message=Hello! Do you hear me?"
wRequest.set_body(body);
// Set the value of the HTTP header's "Content-Length".
wRequest.get_headers()["Content-Length"] = body.length;
// Set the web request completed event handler,
// for processing return data.
wRequest.add_completed(OnWebRequestCompletedHeader);
// Clear the results page element.
displayElement.innerHTML = "";
// Execute the request.
wRequest.invoke();
}
// This the handler for the Web request completed event
// that is used to display return data.
function OnWebRequestCompleted(executor, eventArgs)
{
if(executor.get_responseAvailable())
{
// Clear the previous results.
displayElement.innerHTML = "";
// Display Web request status.
DisplayWebRequestStatus(executor);
// Display Web request headers.
DisplayWebRequestHeaders(executor);
// Display Web request body.
DisplayWebRequestBody(executor);
}
else
{
if (executor.get_timedOut())
alert("Timed Out");
else
if (executor.get_aborted())
alert("Aborted");
}
}
// This the handler for the Web request completed event
// that is used to display header information.
function OnWebRequestCompletedHeader(executor, eventArgs)
{
if(executor.get_responseAvailable())
{
// Clear the previous results.
displayElement.innerHTML = "";
// Display Web request headers.
DisplayWebRequestHeaders(executor);
}
else
{
if (executor.get_timedOut())
alert("Timed Out");
else
if (executor.get_aborted())
alert("Aborted");
}
}
// This function is used to display the Web request status.
function DisplayWebRequestStatus(executor)
{
displayElement.innerHTML +=
"Status: [" +
executor.get_statusCode() + " " +
executor.get_statusText() + "]" + "
"
}
// This function is used to display Web request HTTP headers.
function DisplayWebRequestHeaders(executor)
{
displayElement.innerHTML +=
"Headers: ";
displayElement.innerHTML +=
executor.getAllResponseHeaders() + "
";
}
// This function is used to display the Web request body.
function DisplayWebRequestBody(executor)
{
displayElement.innerHTML +=
"Body: ";
if (document.all)
displayElement.innerText +=
executor.get_responseData();
else
// Firefox
displayElement.textContent +=
executor.get_responseData();
}
// This function is used to display the Web request message.
function DisplayInformation(message)
{
// Clear the previous results.
displayElement.innerHTML = "";
// Display information.
displayElement.innerHTML = "
" + message;
}
if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();