使用XHR执行HTTP POST或PUT请求时,应该检查状态吗?

基里尔

在观看了Udemy课程中有关XHR和Async JS的一些视频后,我得到了一个奇怪的问题。在一节中,我们创建了一个简单的库,用于在ES5中发出HTTP请求。它是这样开始的:

function EasyHTTP() {
  this.http = new XMLHttpRequest;
}

// Make an HTTP GET Request
EasyHTTP.prototype.get = function(url, callback) {
  this.http.open('GET', url, true);

  let self = this;
  this.http.onload = function() {
    if (self.http.status === 200) {
      callback(null, self.http.responseText)
    } else {
      callback('Error: ' + self.http.status)
    }
  }

  this.http.send();
}

我都明白了。但是,当讲师编写post方法时,他所做的操作几乎与get方法中的操作相同,但他说:“我们不需要检查状态,因为我们正在执行POST请求”,而POST的最终方法如下所示:

// Make an HTTP POST Request
EasyHTTP.prototype.post = function(url, data, callback) {
  this.http.open('POST', url, true);
  this.http.setRequestHeader('Content-type', 'application/json');

  let self = this;
  this.http.onload = function() {
    callback(null, self.http.responseText)
  }

  this.http.send(JSON.stringify(data));
}

他对put方法也做同样的事情但是对于delete他,他像get方法中那样检查状态我很困惑,在执行POST和PUT请求时我们真的应该“忽略”状态吗?为什么?

优素福

在执行POST和PUT请求时,我们是否真的应该“忽略”状态?

不,您应该检查状态码。

所有HTTP请求方法(包括POST和PUT)均返回指示失败或成功的响应,您应检查状态并向用户显示其请求成功或失败。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

expressja 使用 xhr 或 fetch 发出 http 请求

来自分类Dev

当我必须向HTTP请求发送有效载荷时,应该使用PUT而不是DELETE吗?

来自分类Dev

PUT或POST请求的IHttpActionResult应该使用哪个ResponseType?

来自分类Dev

如何使用Android NDK执行HTTP请求

来自分类Dev

请求敏感数据时应该使用GET还是POST?

来自分类Dev

我应该使用一个HTTP请求来检查是否可以执行某个操作,然后使用另一个HTTP请求来执行该操作,还是应该将其捆绑到一个请求中?

来自分类Dev

在Python 2.7中执行http请求时使用'while True'

来自分类Dev

节点-使用axios执行http请求时收到ECONNRESET错误

来自分类Dev

使用nodejs执行http发布请求时出错

来自分类Dev

Angular执行XHR请求而不触发摘要

来自分类Dev

从Rails路由检查请求是xhr还是http

来自分类Dev

从Rails路由检查请求是xhr还是http

来自分类Dev

403执行PUT请求时

来自分类Dev

我应该依靠传统的方法来执行GET / POST请求或其他库吗(Android)

来自分类Dev

在执行POST / PUT请求之前,如何检查字符串是否存在?

来自分类Dev

使用XHR请求加载图像

来自分类Dev

使用scrapy提取XHR请求?

来自分类Dev

使用scrapy提取XHR请求?

来自分类Dev

POST HTTP请求的Content-Length应该使用什么值?

来自分类Dev

什么HTTP状态代码,我应该返回POST没有创建资源时?

来自分类Dev

当PUT为无操作时,HTTP服务器应该返回200吗?

来自分类Dev

我应该阻止HTTP 1.0请求吗?

来自分类Dev

我应该阻止HTTP 1.0请求吗?

来自分类Dev

如何使用在Angular Pipe内部执行HTTP请求的服务

来自分类Dev

使用来自Webview的cookie执行HTTP请求

来自分类Dev

多个HTTP请求的异步状态检查

来自分类Dev

当示波器处于ON_PAUSE或ON_STOP状态时,使用Autodispose的流应该停止发射吗?

来自分类常见问题

执行HTTP POST并使用响应的简单C示例

来自分类Dev

使用标头时,Angular $ http执行两次

Related 相关文章

  1. 1

    expressja 使用 xhr 或 fetch 发出 http 请求

  2. 2

    当我必须向HTTP请求发送有效载荷时,应该使用PUT而不是DELETE吗?

  3. 3

    PUT或POST请求的IHttpActionResult应该使用哪个ResponseType?

  4. 4

    如何使用Android NDK执行HTTP请求

  5. 5

    请求敏感数据时应该使用GET还是POST?

  6. 6

    我应该使用一个HTTP请求来检查是否可以执行某个操作,然后使用另一个HTTP请求来执行该操作,还是应该将其捆绑到一个请求中?

  7. 7

    在Python 2.7中执行http请求时使用'while True'

  8. 8

    节点-使用axios执行http请求时收到ECONNRESET错误

  9. 9

    使用nodejs执行http发布请求时出错

  10. 10

    Angular执行XHR请求而不触发摘要

  11. 11

    从Rails路由检查请求是xhr还是http

  12. 12

    从Rails路由检查请求是xhr还是http

  13. 13

    403执行PUT请求时

  14. 14

    我应该依靠传统的方法来执行GET / POST请求或其他库吗(Android)

  15. 15

    在执行POST / PUT请求之前,如何检查字符串是否存在?

  16. 16

    使用XHR请求加载图像

  17. 17

    使用scrapy提取XHR请求?

  18. 18

    使用scrapy提取XHR请求?

  19. 19

    POST HTTP请求的Content-Length应该使用什么值?

  20. 20

    什么HTTP状态代码,我应该返回POST没有创建资源时?

  21. 21

    当PUT为无操作时,HTTP服务器应该返回200吗?

  22. 22

    我应该阻止HTTP 1.0请求吗?

  23. 23

    我应该阻止HTTP 1.0请求吗?

  24. 24

    如何使用在Angular Pipe内部执行HTTP请求的服务

  25. 25

    使用来自Webview的cookie执行HTTP请求

  26. 26

    多个HTTP请求的异步状态检查

  27. 27

    当示波器处于ON_PAUSE或ON_STOP状态时,使用Autodispose的流应该停止发射吗?

  28. 28

    执行HTTP POST并使用响应的简单C示例

  29. 29

    使用标头时,Angular $ http执行两次

热门标签

归档