2015-09-23 113 views
-4

据我所见。表单帖子接受文档,而ajax帖子接受xhr(我猜这可以设置)?表格POST与AJAX POST

如果是这样,我不能在相同的情况下使用两者?

Whare使用POST的这两种方法之间的差异

+0

@Amit“我不能在相同的情况下使用两个?” –

+2

一个强制浏览器在其“action”属性中“击中”页面,另一个则让JS执行发送数据的操作,但实际的混淆是什么,以及如何在相同的情况下使用它们?您可以在向JS提交表单和传输控件时阻止浏览器执行其默认操作,您将在其中收集数据,将数据发送到某处并且不会重新加载页面。我会为你大胆的,但我认为这不会有帮助。基本上两者都做同样的事情 - 在某处发送一些数据。他们也会产生相同的http查询。 – Mjh

+0

@Mjh这是一个非常合适的答案! –

回答

3

你可以同时使用,并在功能方面达到同样的效果,但我鼓励你依靠AJAX(jQuery的),用于提供更好的全面的用户体验,并减轻服务器的负担(使用PHP,你只能做需要的东西,而不需要再提供完整的html输出)。只更新实际更改的内容。

几年前,当我使用jQuery和AJAX时,我依靠AJAX来更新部分UI,而无需刷新整个网页。而且,我将这个用于管理区域的CRUD项目,实际上实现了相当不错的用户体验。

您可以在jQuery GET and POST details and usage examples

+0

Omg这样一个简单和理解的答案。所以表单发布***有***刷新浏览器? –

+0

@KarlMorrison你可以禁用表单的默认行为来不改变当前位置 – Hacketo

+0

我可以强制***将ajax文章重定向到标题中吗?或者我必须在回调中做到这一点? (考虑重定向302服务器端的后响应标题位置) –

1

找到了jQuery post方法更多信息,它才有意义,使用一个或另一个在设计该类型的请求的上下文。如果服务器将返回一个完整的,可显示的资源(最常见的是一个HTML文档),请使用表单文章,以便浏览器“重定向”到结果。如果服务器返回的结果仅作为已经可见的资源的一部分,请使用xhr,解析结果并将其结合到页面中。