未捕获的 TypeError:app.all 不是函数

Posted

技术标签:

【中文标题】未捕获的 TypeError:app.all 不是函数【英文标题】:Uncaught TypeError: app.all is not a function 【发布时间】:2017-06-21 07:40:21 【问题描述】:

我这里有一个非常简单的 Angular 页面

<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myCtrl">

  <p>Today's welcome message is:</p>
  <h1>myData</h1>

</div>

<script>

  var app = angular.module('corsApp', []);

  app.config(['$httpProvider', function($httpProvider) 
    $httpProvider.defaults.useXDomain = true;
    delete $httpProvider.defaults.headers.common['X-Requested-With'];

  

  ]);


  // Added all header request and response.
  app.all('/*', function (request, response, next) 
    response.header("Access-Control-Allow-Origin", "*");
    response.header("Access-Control-Allow-Headers", "X-Requested-With");
    response.header("Access-Control-Allow-Methods", "GET, POST", "PUT", "DELETE");
    next();
  );



  app.controller('myCtrl', function($scope, $http) 
    $http.get("welcome.htm")
    .then(function(response) 
        $scope.myWelcome = response.data;
    );
);


</script>

我在控制台中不断收到这个。

如何防止这种情况发生?

我正在关注这个:

https://***.com/a/21455819/4480164

【问题讨论】:

app.all 是 nodejs(服务器端 javascript)的中间件。它对客户端中的 angularJS 无效。您引用的答案很清楚。 您正在混合服务器端和客户端代码。您使用的是什么服务器端语言? 只要去掉app.all,因为你似乎并没有在跨域工作 我正在尽我所能避免 cors 错误。我只想通过 Angular 获取此 URL:d.biossusa.com/api/distributor?key=bunlongheng @charlietfl : app.all = ? 的整个块 【参考方案1】:

只是指出这一点是因为我无法评论由于低代表,但你也打电话给ng-app="myApp",它正在寻找myApp 的模块调用,而你没有myApp 的模块调用,所以你的控制器也不会正确触发,可能会将您的myApp 重新命名为app

【讨论】:

我的代码应该是什么样子才能让它在没有控制台错误的情况下运行? 您在 html 中调用 ng-app="myApp",但您将模块声明为 var app = angular.module(),请将 ng-app 中的值更改为 ng-app="app",因为您的控制器正在寻找模块调用和因为您将该调用设置为 app.controller....并且您在 html 中调用了 myApp,所以您的 html 不会正确触发 &lt;div ng-app="myApp" ng-controller="myCtrl"&gt;&lt;div ng-app="app" ng-controller="myCtrl"&gt; 没有您在脚本中的哪个位置将应用模块声明为 myApp 您似乎对 Angular JS 了解很多。你对角度 CORS 错误预防有什么看法吗?你介意帮助我调查这个我正在努力绕过它的错误吗?这里=***.com/questions/42032996/…

以上是关于未捕获的 TypeError:app.all 不是函数的主要内容,如果未能解决你的问题,请参考以下文章

JQuery UI'可拖动不是函数'未捕获的TypeError

未捕获的 TypeError:Vue.elementDirective 不是函数

未捕获的 Promise 错误:TypeError:成员不是函数

未捕获的 TypeError:Object(...)(...).Class 不是函数

Angular:错误:未捕获(承诺):TypeError:Object(...)不是函数

未捕获的 TypeError:this.getExtraNgModuleProviders 不是函数