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

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

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

最佳答案



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

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



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



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

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

10-13 04:15