POSTing with HTML Form元素和XMLHTTPRequest之间有什么区别?HTML表单与XMLHTTPRequest?
为什么表单允许重定向到另一个网页,但显然XMLHTTPRequest不能?
如果我正在发出POST请求,我应该能够制定一个具有相同属性的请求并期待相同的行为。
POSTing with HTML Form元素和XMLHTTPRequest之间有什么区别?HTML表单与XMLHTTPRequest?
为什么表单允许重定向到另一个网页,但显然XMLHTTPRequest不能?
如果我正在发出POST请求,我应该能够制定一个具有相同属性的请求并期待相同的行为。
XmlHttpRequest不会重新加载页面,HTML表单会。这是主要差异
POSTing with HTML Form元素和 与XMLHTTPRequest有什么区别?
XMLHttpRequest允许执行异步操作,它不会阻塞客户端的UI。使用HTML表单时,客户端在执行操作时被阻止。另外(正如您指出的那样),HTML表单提交会导致页面重新加载到指定的URL,而XHR不会 - - 它仅导致数据被返回。返回的数据可能只是页面内容的一部分,所以XHR不会导致整个页面重新加载。它允许我们动态更新页面的一部分。
为什么表单允许重定向到另一个网页,但显然是一个 XMLHTTPRequest不能?
XHR可以为其配置一个“成功”回调函数。当操作成功完成后,回调函数可以执行任何你喜欢的操作,包括重定向。
如果我正在发出POST请求,我应该能够制定具有相同属性的请求 并期望有相同的行为。
您的意思是说HTML请求应该能够配置为与XHR请求相同吗?如果是这样,那么不,事实并非如此。 XHR请求可以配置为非常精细的级别(用户名和密码,数据类型,缓存,成功回调,失败回调等)。这(和XHR的异步性质)是XHR受欢迎的原因。
我想你应该走过一个简短的历史和演变。
早在HTML HTTP简单的时候,人们用来发布表单,但它有一些问题?
好,但如果用户没有什么输入正确的表单值?NET USE是缓慢的当时所以排在英雄的JavaScript
现在聪明人想出了XMLHTTPRequest/AJAX为什么刷新页面为什么?
随着更好的浏览器和服务器的发展,SPA(单页应用)以及更多。
导入一个与一些代码,
甚至XHR可以重定向至其他网页或重新加载页面前了window.location =“” 并且还可以从重定向前e.preventDefault()
可以防止FORM检查AJAX的相关信息,它可以帮助你理解为什么部分以及为什么它非常有趣。
希望有帮助
主要区别在于XHR是异步的。 –