最近在练习使用 Angular,在实现 $http 对本地 JSON 文档读写的时候遇到了问题。
使用 GET 方法成功将 JSON 文档的内容读出来;但是在使用 POST 插入本地 JSON 文档 newBook 的时候,Chrome 的终端里出现了如下错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
var bookLibraryApp = angular.module('bookLibraryApp', ['ngRoute']);
bookLibraryApp.controller('BookLibraryController', function($scope, $http){
$http.get('api/books.json').success(function(data){
$scope.books = data;
}).error(function(){
alert("an unexpected error ocurred!");
});
$scope.addBook = function(){
var newBook = {
isbn: $scope.newBook.isbn,
title: $scope.newBook.title,
year: $scope.newBook.year
};
$http.post('api/books.json', newBook).success(function(){
$scope.msg = 'Data saved';
}).error(function(data) {
alert("failure message:" + JSON.stringify({data:data}));
});
}
});
对应的 HTML 文档为:
<p class="container">
<h2>Create a Book here</h2>
<p class="createBookInfo">
<p>ISBN: <input type="text" ng-model="newBook.isbn"/></p>
<p>Title: <input type="text" ng-model="newBook.title" /></p>
<p>Year: <input type="number" ng-model="newBook.year" /></p>
</p>
<br />
<button ng-click="addBook()">Insert this book</button>
<p>{{msg}}</p>
</p>
希望有朋友能够帮忙找下错误在什么地方,谢谢!
淡淡烟草味2017-05-15 16:51:59
Angular 공식 홈페이지에서 IRC의 도움을 받았습니다. 답변(번역)은 대략 다음과 같습니다.
file:///
是本地简单的文本服务器,能够实现$http.get()
的服务,但是要实行POST
,PUT
,DELETE
的服务,就需要真正的网络服务器了。如果你会多种语言的话,可选的种类有很多种,基于PHP
,Rail
,Ruby
,Java
等等。
当然可以选择全 JS 的解决方案,比如我现在就在使用MEAN
여러분, 행복한 시간 보내시기 바랍니다.
자, 이제 질문이 나오네요. 기술이 어느 쪽이 더 강한지 토론해 볼까요…………