繁体   English   中英

角度$ http.get报告200(OK),但响应永不变

[英]Angular $http.get reporting 200(OK) but response never changes

从Ionic和Angular应用向HTTP REST API发出get请求。 在家庭网络上发出请求时,API会接收并正确响应每个请求。

但是,当我在4g数据连接上发出相同的请求时,只有第一个请求成功。 在所有随后的请求中,服务器从不接收该请求,但是$ http.get的行为就像它接收到一个响应并报告状态码200。在这些情况下,“响应”从不会改变初始请求所导致的响应。

清除应用程序数据将重新开始此循环:清除成功后的第一个请求成功,并且重复该响应。

这是发出GET请求的函数。 res的内容显示在下面的屏幕快照中。

 this.getSongInfo = function() {
    return $http.get('http://REDACTED:8080/getName').then(function(res) {
      console.log(res);
      return res.data;
    }, function(err) {
      console.log(err);
      return false;
    });
  }

来自$ http.get函数的响应的屏幕截图。每次之后的响应与第一个请求相同

更新Lex的回答有所帮助。 我没有意识到我无法将$ httpProvider注入服务。 一旦我将它添加到我的app.config,一切似乎都正常。 仍然不确定为什么它只是在数据连接上进行缓存时,我在角度文档中找不到任何说明为数据连接启用了缓存。

听起来响应被缓存在某个地方。 当您希望相同的请求每次都返回相同的响应时,这很有用,但是您的情况显然不是所需的行为。 根据您提供的内容,无法知道是哪种外部工具/设置导致了响应被缓存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM