Asp.net mvc 与MVC 5绑定后出现格式错误的Cookie错误

Asp.net mvc 与MVC 5绑定后出现格式错误的Cookie错误,asp.net-mvc,angularjs,Asp.net Mvc,Angularjs,我有一个使用angular的MVC5项目,出现以下错误: Error: malformed URI sequence oh/h.cookies@https://controlpanel.abc.com/bundles/controlPanelAngularv=c7IsPcEqfC9w7vlO0f2C635w9XFObG3zp4KjeFBEh-c1:1:18254 g@https://controlpanel.abc.com/bundles/controlPanelAngular?v=c7IsPc

我有一个使用angular的MVC5项目,出现以下错误:

Error: malformed URI sequence
oh/h.cookies@https://controlpanel.abc.com/bundles/controlPanelAngularv=c7IsPcEqfC9w7vlO0f2C635w9XFObG3zp4KjeFBEh-c1:1:18254
g@https://controlpanel.abc.com/bundles/controlPanelAngular?v=c7IsPcEqfC9w7vlO0f2C635w9XFObG3zp4KjeFBEh-c1:1:35522
k/s<@https://controlpanel.abc.com/bundles/controlPanelAngular?v=c7IsPcEqfC9w7vlO0f2C635w9XFObG3zp4KjeFBEh-c1:1:34445
de/u/h.promise.then/c@https://controlpanel.abc.com/bundles/controlPanelAngular?v=c7IsPcEqfC9w7vlO0f2C635w9XFObG3zp4KjeFBEh-c1:1:48272
其中
master.js
是我的应用程序的连接文件(使用
grunt
构建)。我不太了解捆绑过程,甚至不知道去哪里找。我已经阅读了关于这个过程的文档,但是它没有提供任何关于这类问题的帮助。我在谷歌上能找到的唯一问题是,人们的角度不是“缩小友好”,但我的角度是。我使用了内联语法
(angular.module('module').controller('ctrl',['$injector',function($injector))
,所以不是这样

我的代码没有使用
decodeURIComponent
encodeURIComponent
,角度路由服务,
HTML5模式
$location
,cookies,或者任何我能想到的会导致此错误的东西。我有一个导航服务,它会被调用几次:

angular.module('core.service').factory('navigatorService', ['$window', function ($window) {
  return {
    redirect: function (newLocation) {
      $window.location.href = newLocation;
    }
  };
}]);
这是我唯一一次访问url。我没有使用url参数。有一个页面我甚至需要一个,但由于MVC构建url的方式,我通过
@ViewBag
传递了它,而不是在角度上分析它:

ng-init="init(@(ViewBag.categoryId));" 
项目的架构师希望我们所有人都使用asp操作来生成url,以便在位置发生变化时更新我们的url

为此创建了一个内联工厂:

<script type="text/javascript">
angular.module('core.service').factory('mvcRouterService', function () {
    return {
        getCategoryUrl: function () { return '@Url.Action("GetCategory", "Categories")'; }
    };
});
</script>
我还发现几个链接讨论了一个类似的问题:

但这些都是一年前的事了,现在修复已经合并了

此外,如果我从@part-on复制并粘贴任何URL,它们都会在浏览器中解析(如果有必要)

我未整理所有文件并获得了更准确的堆栈跟踪,但仍然无法找出导致此问题的原因:

"Error: malformed URI sequence
Browser/self.cookies@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:4811:33
sendReq@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:8813:1
$http/serverRequest@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:8539:25
processQueue@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:12078:25
scheduleProcessQueue/<@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:12094:36
 $RootScopeProvider/this.$get</Scope.prototype.$eval@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:13278:25
$RootScopeProvider/this.$get</Scope.prototype.$digest@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:13090:37
$RootScopeProvider/this.$get</Scope.prototype.$apply@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:13382:33
bootstrapApply@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:1494:20
invoke@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:4101:17
bootstrap/doBootstrap@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:1493:25
bootstrap@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:1512:13
angularInit@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:1406:45
@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:24416:9
“错误:URI序列格式错误
浏览器/自我。cookies@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:4811:33
sendReq@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:8813:1
$http/serverRequest@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:8539:25
processQueue@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:12078:25

scheduleProcessQueue/如果有人好奇,我在angular代码中添加了一个try-catch,在它出错的地方,并对错误进行了调整,以尝试跟踪更具体的错误。我最终发现,格式错误的cookie是我们一些用户pc上的google analytics cookie。我不确定angular为什么无法处理错误。它不是他是乌特姆兹饼干

angular.module('module').factory('genericAjax', ['$http', '$injector', function ($http, $injector) {
  var mvcRouterService = $injector.get('mvcRouterService');
    return {
      getCategory: function (categoryId) {
        var data = {
          categoryId: categoryId
        };
      return $http.post(mvcRouterService.getCategoryUrl(), data).then(function (result) {
        return result.data;
      });
    }
   };
 }]);
"Error: malformed URI sequence
Browser/self.cookies@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:4811:33
sendReq@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:8813:1
$http/serverRequest@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:8539:25
processQueue@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:12078:25
scheduleProcessQueue/<@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:12094:36
 $RootScopeProvider/this.$get</Scope.prototype.$eval@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:13278:25
$RootScopeProvider/this.$get</Scope.prototype.$digest@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:13090:37
$RootScopeProvider/this.$get</Scope.prototype.$apply@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:13382:33
bootstrapApply@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:1494:20
invoke@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:4101:17
bootstrap/doBootstrap@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:1493:25
bootstrap@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:1512:13
angularInit@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:1406:45
@https://controlpanel.abc.com/Scripts/angular/dist/angular.js:24416:9