是否可以在网上进行部分回发?

时间:2010-04-19 16:00:48

标签: ajax postback

我读了一本书中的一些段落,说不可能对网络进行部分回发,即使采用了AJAX也是如此。 Ajax将回发所有内容并仅更新ajaxfied控件。 但是,在我使用ajax制作的页面上,我使用了Fiddler来监控运输。我发现当页面初始加载时,它加载的所有东西都包括图片....但是,当我点击一个按钮并做一个ajax回发。我只能看到一些数据被加载....看起来它不需要再次重新加载整个页面。 我不知道我看到的是否正确?或者我读过的那本书是对的吗?

谢谢你们。

3 个答案:

答案 0 :(得分:2)

这取决于你在术语“回发”中的含义。

AJAX调用会将完整的表单数据发送回服务器,就像表单正常发布一样。服务器将回答部分响应,该部分响应仅包含应更新的页面部分。

因此,请求不是部分的,但响应是。

答案 1 :(得分:1)

我不确定您是如何从客户端发回的。我猜你正在使用UpdatePanels。你'AJAX-ify'网页的效果取决于你采用的方法。

  1. UpdatePanels - 阅读Dave Ward发布的帖子 - http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous/
  2. PageMethods回发到Web服务,获取数据并更新DOM以显示结果
  3. JQuery和其他此类AJAX框架将回发到Web服务
  4. 我确信上面的链接应该清楚一点

答案 2 :(得分:0)

我很难理解你的术语。我不太确定“回发”是什么,更不用说“部分”了。我知道向HTTP服务器传输信息的基本方法之一是通过POST请求,通常在提交表单时使用。如果您想在单击提交按钮时传输整个表单,我相信您是对的。

你似乎也在用AJAX做事,但很难说。 AJAX的重点是在页面上显示动态数据而不需要重新加载它。定义要发送的内容以及如何处理结果完全取决于您自己的JavaScript。因此,除非您使用未指定的框架,否则不存在“ajaxified控件”。

在任何情况下,“AJAX”通常意味着使用现代浏览器的XMLHttpRequest()方法将数据发送到服务器而不刷新页面。调用此函数时,您可以准确指定要发送的数据。这与HTML表单无关。需要注意的一点是:如果您确实使用AJAX库,则可能会对如何构建要发送的信息施加额外的限制。