【问题标题】:angular.min.js XMLHttpRequest cannot load fileangular.min.js XMLHttpRequest 无法加载文件
【发布时间】:2016-08-19 19:01:22
【问题描述】:

[![

/* app.js */

var model = angular.module('app',['ui.router']);

model.config(function($stateProvider, $urlRouterProvider){

	$urlRouterProvider.otherwise('/home');
	
	$stateProvider
	
	.state('home',{
		url: '/home',
		templateUrl: 'view/home.html',
		controller: 'homeController'
	})

});

/* home.js */

model.controller('homeController',function($scope){

});
<!-- index.html -->

<!DOCTYPE html>
<html>
	<head>
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/style.css" />
		<script type="text/javascript" src="js/angular.min.js" ></script>
		<script type="text/javascript" src="js/angular-ui-router.min.js" ></script>
		<script type="text/javascript" src="controller/app.js" ></script>
		<script type="text/javascript" src="controller/home.js" ></script>
	</head>
<body ng-app="app">
<header>Jayesh Shelar</header>
<div id="view" ui-view> </div>

</body>
</html>

]1]1HI

我收到错误,因为“angular.min.js:103 XMLHttpRequest 无法加载文件跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource。”

【问题讨论】:

  • 使用网络服务器。不要使用 file:/// 协议。
  • 我需要使用像tomcat,wamp等网络服务器来运行angularjs吗?
  • 是的。然而,这与 Angular 无关,而是与如今浏览器实施的更严格的网络安全策略有关。您需要使用 http:// 协议。任何网络服务器都可以满足您的需要:Apache、Tomcat 或非常简单的 npm 包,如 lite-server,甚至是从终端 python -m SimpleHTTPServer 3000 运行的简单 python 服务器。

标签: angularjs


【解决方案1】:

您可以执行npm install http-server -g 并使用http-server 命令在您的项目文件夹中启动服务器。

【讨论】:

    【解决方案2】:

    使用命令行选项重新启动 Chrome --allow-file-access-from-files

    出于安全原因,您可能希望有一个单独的快捷方式来启动 Chrome 以使用该命令行选项进行本地调试。

    【讨论】:

      猜你喜欢
      • 2016-09-10
      • 2016-04-14
      • 2014-10-17
      • 2011-11-01
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多