【问题标题】:angular.js 1.4.8 Error: $resource:badcfg. Error present in normal browser but not Incognitoangular.js 1.4.8 错误:$resource:badcfg。普通浏览器中存在错误,但隐身模式不存在
【发布时间】:2016-10-27 23:08:07
【问题描述】:

页面加载后,我从 Angular 收到以下错误:

angular.js:12520 Error: [$resource:badcfg] http://errors.angularjs.org/1.4.8/$resource/badcfg?p0=query&p1=array&p2=object&p3=GET&p4=%2Fapi%2Fprospects%2Factive
    at Error (native)
    at http://localhost:3807/Scripts/angular/angular.min.js:6:416
    at k.then.p.$resolved (http://localhost:3807/Scripts/angular/angular-resource.min.js:9:408)
    at http://localhost:3807/Scripts/angular/angular.min.js:119:129
    at r.$eval (http://localhost:3807/Scripts/angular/angular.min.js:133:313)
    at r.$digest (http://localhost:3807/Scripts/angular/angular.min.js:130:412)
    at r.$apply (http://localhost:3807/Scripts/angular/angular.min.js:134:78)
    at g (http://localhost:3807/Scripts/angular/angular.min.js:87:444)
    at T (http://localhost:3807/Scripts/angular/angular.min.js:92:50)
    at XMLHttpRequest.w.onload (http://localhost:3807/Scripts/angular/angular.min.js:93:78)

我怀疑错误来自下面自动调用的query 方法:

define(['ngResource'], function () {
    'use strict';
    prospectResource.$inject = ['$resource'];
    return prospectResource;

    function prospectResource($resource) {
        var controllerPath = '/api/prospects/';

        var actions = $resource(controllerPath, {}, {
            query: {
                method: 'GET',
                url: controllerPath + 'active',
                isArray: true,
                Cache: true
            },
            all: {
                method: 'GET',
                url: controllerPath + 'all',
                isArray: true,
            },
            convert: {
                method: 'POST',
                url: controllerPath + 'convert/:prospectId'
            }
        });

        return actions;
    }
});

奇怪的是,该错误仅发生在 Chrome 的非隐身模式下,而不是隐身模式。然后我尝试执行“清空缓存和硬重新加载”,重新启动 Chrome,清除 cookie 等,但没有任何效果。这可能是什么原因造成的?我在想它是否可能是一些插件,但我尝试禁用广告拦截器等,但我仍然得到相同的结果。在隐身模式下,一切正常。

Angular 版本是 1.4.8

【问题讨论】:

  • GET /api/prospects/active的回复是什么?删除 Cache: true 后会发生什么?
  • @str 将 Cache 设置为 false 无关紧要。但是,当我访问/api/prospects/active 时,我会自动重定向到非隐身登录页面,并且在隐身模式中我得到了适当的数组。我在两个浏览器上都登录了。

标签: javascript angularjs


【解决方案1】:

问题与 cookie 有关。在 Chrome 中转到 Settings -> Show advanced settings… -> "Clear browsing data…" -> the beginning of time -> mark everything -> Clear browsing data。一切都开始工作了。

【讨论】:

    猜你喜欢
    • 2019-10-21
    • 2022-01-05
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    相关资源
    最近更新 更多