我有一个名为DemoAPI的文件夹。
在DemoAPI中---> app.html
在DemoAPI中 - >客户端\公共\ core.js
我尝试在core.js
的脚本标记中加入app.html
。
<script type="text/javascript" src="Client/public/core.js"></script>
core.js looks like this:
angular.module('Todo', [])
.controller('mainController', function($scope, $http)
{
$scope.formData = {};
// get all and show them
$http.get('/musicians')
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
//get with an id
$scope.getOneTodo = function() {
$http.get('/musicians' + id)
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
// send the text to the node API
$scope.createTodo = function() {
$http.post('/musicians', $scope.formData)
.success(function(data) {
$scope.formData = {}; // clear the form
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
// delete
$scope.deleteTodo = function(id) {
$http.delete('/musicians' + id)
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};
/*
$scope.updateTodo = function(id) {
$http.delete('/musicians' + id)
.success(function(data) {
$scope.todos = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};*/
});
但我收到的错误是:
XMLHttpRequest cannot load file:///C:/musicians. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
它试图从目录获取/ musician,就像我的意思是网址。 我该如何解决这个问题?
答案 0 :(得分:0)
这是因为XMLHTTPRequest
假设您正在使用基于网络的协议。但是,看起来您的环境是基于操作系统的规则设置的。没有本地服务器,您将很难使用文件/ JS。建议的方法是使用Python的SimpleHTTPServer
模块设置快速本地服务器。
我通常通过(在安装Python之后)通过CLI(命令行)导航到相关文件夹并键入python -m SimpleHTTPServer 8000
并导航到http://localhost:8000
来执行此操作。