Ajax Reponse 200 ok,但显示无法加载响应数据

时间:2015-09-28 10:55:52

标签: javascript jquery ajax

我正在对后端的api进行ajax调用,api正在返回。如果我在console.log()中获取成功数据和错误数据,它会在控制台上提供"资源登录",200 ok但是当我在该auth / login路由的网络选项卡响应中查看它时,它显示"无法加载响应数据"。而这有时只会发生,而不是总是发生。为什么? 这是我的ajax电话的片段。

ajax
    .post('auth/login', {
          data: {
              oauth_provider: 'google',
              oauth_token: (isToken ? authResult : authResult.access_token)
              },
          cache: false
          })
          .done(function(data) {
             console.log(data); // Resource Logged in
           })
           .error(function(err){
            console.log(err);
           })

这是我的ajax.js的内容

define(
  [
    'jquery',
    'util',
  ],
  function ($, util) {
    var ajax = {
      request: function (type, url, options) {
        if (url.indexOf('http') === -1) {
          url = util.url(url);
        }

        if (options === undefined) {
          options = {};
        }

        options.type = type
        options.url = url;

        return $.ajax(options);
      },

      get: function (url, options) {
        return ajax.request('GET', url, options);
      },

      post: function (url, options) {
        return ajax.request('POST', url, options);
      },

      put: function (url, options) {
        return ajax.request('PUT', url, options);
      },

      delete: function (url, options) {
        return ajax.request('DELETE', url, options);
      }
    };

    return ajax;
  }
)

enter image description here enter image description here

5 个答案:

答案 0 :(得分:3)

显然,事实证明清理cookie存在一些问题。在清理它们时,系统表现良好。 不确定需要帮助!

答案 1 :(得分:1)

我证实了这一点。自Chrome版本45和我看到我的一些Ajax请求获得200作为状态代码,但显示内容“无法加载内容”时出现问题。

我的Ajax请求在for循环中,请求失败的内容再次使内容加载正常。

似乎解决了for循环内部在请求和另一个之间使用setTimeout

答案 2 :(得分:1)

答案 3 :(得分:0)

“空缓存和硬重载”为我工作。

答案 4 :(得分:-1)

由于回发,这发生在我的项目中。 当我解决了回发问题时,错误就消失了。