javascript - HTML 表单与 XMLHTTPRequest?

标签 javascript html forms

使用 HTML 表单元素和使用 XMLHTTPRequest 进行 POST 之间有什么区别?

为什么表单允许重定向到另一个网页,但显然 XMLHTTPRequest 不能?

如果我发出 POST 请求,我应该能够制定具有相同属性的请求并期望相同的行为。

最佳答案

What is the difference between POSTing with an HTML Form element and with an XMLHTTPRequest?

XMLHttpRequest 允许执行异步操作,不会阻塞客户端的 UI。使用 HTML 表单时,客户端在执行操作时被阻止。

此外(如您所指出的),HTML 表单提交会导致页面重新加载到指定的 URL,而 XHR 不会 - - 它只会导致返回数据。返回的数据可能只是页面内容的一部分,因此 XHR 不会导致整个页面重新加载。它允许我们动态更新页面的一部分。

Why can a form allow a redirect to another web page, but apparently a XMLHTTPRequest cannot?

XHR 可以配置一个“成功”回调函数。当操作成功完成时,回调函数可以做任何你想做的事情,包括重定向。

If I'm making POST requests, I should be able to formulate a request with the same attributes and expect the same behavior.

您的意思是 HTML 请求应该能够像 XHR 请求一样配置吗?如果是这样,那么不,事实并非如此。 XHR 请求可以配置到非常细粒度的级别(用户名和密码、数据类型、缓存、成功回调、失败回调等)。这(以及 XHR 的异步特性)是 XHR 流行的原因。

关于javascript - HTML 表单与 XMLHTTPRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42304950/

相关文章:

java - 在 Java 中提交表单后加载新页面

forms - 如何在 xamarin 表单中手动更改条目的光标位置?

Javascript...简单问题如何在提交后将表单保留在页面上

javascript - 如何将全屏应用于图像

javascript - 如何将图像附加到 div 然后将其清空然后再次附加回它?

javascript - 从其他 react 组件获取值(value)

javascript - 如何在 Bootstrap 中自动换行

javascript - 更改 innerHTML 不会更新页面

javascript - 内存增加绘图到 Canvas

html - 如何在 Bootstrap alpha v6 中使用 flexbox