2009-11-09 184 views
1

我一直在学习一本书的JavaScript。有一次,我与有关客户端 - 服务器站点通信代码打,我想做与下面的代码POST请求(使用IE ActiveX对象的XMLHttpRequest):submit()函数和send()JavaScript函数之间有什么区别?

<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> 

我有断点的在Page_Load事件处理程序MyPage.aspx“页面,当期待这个HttpRequest出现时,执行将会停止在这个地方(这是在html按钮上点击)

事情是,请求完成,responseText是获得(这是页面的xml内容),并且没有停止在Page_Load方法,我已经放置了一个断点。因此,现在我无法理解调用.send()函数与POST请求类型和submit()函数之间的区别。

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

谢谢!

回答

1

不同的是,使用send将数据发回给JavaScript调用程序无需重新加载页面,但在窗体上调用submit表单提交给服务器,然后就好像用户已经从服务器重新加载结果点击表格的提交按钮。

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

+0

谢谢。 这里的示例(http://msdn.microsoft.com/en-us/library/ms535874%28VS.85%29.aspx)与您的说法是平行的:“'send'是所谓的Ajax “。 – pencilCake 2009-11-09 11:59:12

+0

@pencilCake他应该简单地说'send'用于** AJAX ** PERIOD! – 2015-11-20 13:46:27

相关问题