1

我一直在从一本书中学习 JavaScript。一旦我在玩有关客户端-服务器站点通信的代码,我想用下面的代码(它使用 IE ActiveX 对象 XMLHttpRequest)做一个 POST 请求:

<script type="text/javascript">

var oRequest = HTTPRequestUtil.getXmlHttp();

var sRequestType = "post";
var sURLofRequest = "MyPage.aspx";
var bAsnychronously = false;

oRequest.open(sRequestType, sURLofRequest, bAsnychronously);
oRequest.send(null);

alert ('Status is '+oRequest.status+' ('+oRequest.statusText+')');
alert ('Response text is '+oRequest.responseText);

</script>

我在 MyPage.aspx" 页面的 PAGE_load 事件处理程序上有断点。当上面发生此 HttpRequest 时,我期望执行将在该位置停止。(在单击 html 按钮时调用它)。

问题是,请求完成,获得了 responseText(这是页面的 xml 内容),并且在我放置断点的 Page_Load 方法处没有停止。

所以,现在我无法理解使用 POST 请求类型调用 .send() 函数和调用中的 submit() 函数之间的区别。

如果您能简要解释主要区别,我将不胜感激。

谢谢!

4

1 回答 1

1

不同之处在于 usingsend会将数据发送回 JavaScript 调用例程而不重新加载页面,但调用表单会将submit表单提交到服务器,然后从服务器重新加载结果,就像用户单击了提交按钮一样表格。

“发送”就是所谓的 Ajax,例如,Stackoverflow 投票按钮如何在不重新加载整个页面的情况下将投票发送回服务器。

于 2009-11-09T10:56:05.403 回答