使用 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/