XmlHttpExecutor.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. // XmlHttpExecutor.js
  2. var resultElementId;
  3. function pageLoad()
  4. {
  5. resultElementId = $get("ResultId");
  6. }
  7. // This function aborts a Web request.
  8. function AbortWebRequest()
  9. {
  10. // Create the WebRequest object.
  11. wRequest = new Sys.Net.WebRequest();
  12. // Set the request Url.
  13. wRequest.set_url("getTarget.htm");
  14. // Clear the results area.
  15. resultElementId.innerHTML = "";
  16. // Set the Completed event handler,
  17. // for processing return data
  18. wRequest.add_completed(OnCompleted);
  19. // Make the request.
  20. wRequest.invoke();
  21. // Get the current executor.
  22. var executor = wRequest.get_executor();
  23. // Abort the request.
  24. executor.abort();
  25. // Check if the executor is aborted.
  26. var execAborted =
  27. executor.get_aborted();
  28. alert("Executor aborted: " + execAborted);
  29. }
  30. // This function executes a Web request.
  31. function ExecuteWebRequest()
  32. {
  33. // Create the WebRequest object.
  34. wRequest = new Sys.Net.WebRequest();
  35. // Set the request Url.
  36. wRequest.set_url("getTarget.htm");
  37. // Set the Completed event handler
  38. // for processing return data
  39. wRequest.add_completed(OnCompleted);
  40. // Clear the results area.
  41. resultElementId.innerHTML = "";
  42. // To use executeRequest you must instantiate the
  43. // executor, assign it to the Web request instance,
  44. // then call the executeRequest function.
  45. // Note: Normally to make a Web request you use
  46. // the invoke method of the WebRequest instance.
  47. var executor = new Sys.Net.XMLHttpExecutor();
  48. wRequest.set_executor(executor);
  49. executor.executeRequest();
  50. var started = executor.get_started();
  51. alert("Executor started: " + started);
  52. }
  53. // This is the event handler called after
  54. // the Web request returns.
  55. function OnCompleted(executor, eventArgs)
  56. {
  57. if(executor.get_responseAvailable())
  58. {
  59. // Get the Web request instance.
  60. var webReq = executor.get_webRequest();
  61. // Display request Url.
  62. alert(webReq.get_url());
  63. // Clear the previous results.
  64. resultElementId.innerHTML = "";
  65. // Display the Web request status.
  66. resultElementId.innerHTML +=
  67. "Request Status: [" + executor.get_statusCode() + " " +
  68. executor.get_statusText() + "]" + "<br/>";
  69. // Display the Web request headers.
  70. resultElementId.innerHTML += "Headers: <br/>";
  71. // Get all the headers.
  72. resultElementId.innerHTML +=
  73. "All Request Headers: " +
  74. executor.getAllResponseHeaders() + "<br/>";
  75. // Get a specific header.
  76. resultElementId.innerHTML +=
  77. "Content-Type Header: " +
  78. executor.getResponseHeader("Content-Type") +
  79. "<br/>";
  80. // Display Web request body.
  81. resultElementId.innerHTML += "Body: <br/>";
  82. if (document.all)
  83. resultElementId.innerText +=
  84. executor.get_responseData();
  85. else
  86. // Firefox
  87. resultElementId.textContent +=
  88. executor.get_responseData();
  89. }
  90. else
  91. {
  92. if (executor.get_timedOut())
  93. alert("Timed Out");
  94. else
  95. if (executor.get_aborted())
  96. alert("Aborted");
  97. }
  98. }
  99. // This is the event handler called after
  100. // the Web request returns. It is designed
  101. // for Web requests that return XML.
  102. function OnSucceededXml(executor, eventArgs)
  103. {
  104. if (executor.get_responseAvailable())
  105. {
  106. if (document.all)
  107. resultElementId.innerText += executor.get_xml().xml;
  108. else
  109. // Firefox
  110. resultElementId.textContent += "First node: " +
  111. executor.get_xml().documentElement.nodeName;
  112. }
  113. else
  114. {
  115. if (executor.get_timedOut())
  116. alert("Timed Out");
  117. else
  118. if (executor.get_aborted())
  119. alert("Aborted");
  120. }
  121. }
  122. // This function executes a Web request
  123. // to get XML data.
  124. function GetXml()
  125. {
  126. // Create the WebRequest object.
  127. wRequest = new Sys.Net.WebRequest();
  128. // Set the request Url.
  129. wRequest.set_url("getTarget.xml");
  130. // Set the Completed event handler
  131. // for processing return data.
  132. wRequest.add_completed(OnSucceededXml);
  133. // Clear the results area.
  134. if (document.all)
  135. resultElementId.innerText = "";
  136. else
  137. // Firefox
  138. resultElementId.textContent = "";
  139. // Invoke the Web request.
  140. wRequest.invoke();
  141. }