submit()函数和send()JavaScript函数有什么区别?

时间:2009-11-09 10:48:34

标签: javascript function xmlhttprequest submit send

我一直在研究一本书中的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方法。

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

如果你能简单解释一下主要的差异,我将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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