Javascript ajax post请求和表单post请求之间的区别是什么?

Javascript ajax post请求和表单post请求之间的区别是什么?,javascript,html,ajax,xmlhttprequest,Javascript,Html,Ajax,Xmlhttprequest,例如,在服务器端,我使用flask处理这些post请求,相同的代码可以处理这两种类型的请求,但在客户端,ajax请求不会让浏览器刷新整个页面,但表单会。 那么,深度的区别是什么呢,是不是有些标题字段不一样??还是别的什么?? 谢谢 没有区别,只是正如首字母缩略词所示,AJAX是异步的,这意味着它不会阻止其他任何东西运行。表单和AJAX请求都发送POST请求唯一的区别是浏览器使用表单POST请求的响应加载新页面,在新页面中,AJAX请求响应被传递给JavaScript回调。AJAX请求是后台异步发

例如,在服务器端,我使用flask处理这些post请求,相同的代码可以处理这两种类型的请求,但在客户端,ajax请求不会让浏览器刷新整个页面,但表单会。 那么,深度的区别是什么呢,是不是有些标题字段不一样??还是别的什么??
谢谢

没有区别,只是正如首字母缩略词所示,AJAX是异步的,这意味着它不会阻止其他任何东西运行。表单和AJAX请求都发送POST请求唯一的区别是浏览器使用表单POST请求的响应加载新页面,在新页面中,AJAX请求响应被传递给JavaScript回调。

AJAX请求是后台异步发送的xhr请求,由JavaScript代码处理然而,表单请求是一个普通请求,浏览器页面将被重新加载,浏览器提供的响应也将以相同的方式发送到后面。对于Flask,您捕获POST请求,如果Ajax包含表单中的所有相同信息,那么它将是相同的


提交表单并导致页面刷新的是表单向DOM激发的一个事件。如果您愿意,这实际上可以被覆盖。这通常是通过使用。我相信这个问题已经在网站上讨论过好几次了。您可能刚刚从表单中丢失了onsubmit事件的概念。

提交HTML表单会构造一个HTTP请求,该请求根据为HTML表单定义的规则进行格式化,并使浏览器导航到它得到的响应

使用JavaScript发出请求允许编程构造更多种类的请求,包括添加自定义头、以JSON等不同方式格式化数据,以及与HTML表单构造请求的方式相同,并使用JavaScript处理响应

通常,在编写服务器端代码时,您不需要关心请求是来自JavaScript还是HTML表单。在某些情况下,你会这样做,但只是作为一个整体


例如,您可能希望使用HTML文档响应常规表单提交,因为浏览器正在导航到它,但使用JSON响应Ajax请求,因为您希望轻松处理它。在这种情况下,JavaScript应该设置一个参数,告诉服务器它更喜欢JSON响应。然后,您编写的服务器端代码应该查看这一点,以确定是否首选HTML或JSON,而不必担心为什么首选HTML或JSON

ajax的思想是,您可以在不重新加载页面的情况下与服务器通信。看到或可能复制xhr请求-或fetch,或JSON,或不可见的iframe黑客等。那么我能理解区别是因为浏览器处理这两种类型请求的方式不同吗?@XuWang yeah