gpt4 book ai didi

javascript - 带有 JSON 的 Angularjs,GET 可以工作,但 POST 不行

转载 作者:行者123 更新时间:2023-12-03 11:30:47 25 4
gpt4 key购买 nike

我对 AngularJS 比较陌生。我正在尝试使用一些 JSON,但似乎无法找出我的 post 命令的问题。 get 工作得很好,但其他任何东西都会抛出 404 url​​ 错误,尽管我检查过并且一切都匹配。

这是我的 app.js 代码,它调用有效的 get 命令

angular
.module('app', [
'ui.router'
])
.config(['$urlRouterProvider', '$stateProvider', function($urlRouterProvider, $stateProvider){
$urlRouterProvider.otherwise('/');

$stateProvider
.state('home', {
url: '/',
templateUrl: 'templates/home.html',
controller: 'homeCtrl',
resolve: {
friends: ['$http', function($http){
return $http.get('./api/friends.json').then(function(response ){
return response.data;
})
}]
}
})
.state('about', {
url: '/about',
templateUrl: 'templates/about.html',
controller: 'aboutCtrl'
})
.state('contact', {
url: '/contact',
templateUrl: 'templates/contact.html'
})
}])

这里是 homeCtrl.js 文件,它加载主页的内容,我想在其中编辑主页的内容并回发到 JSON 文件。

在这里,我调用该帖子,它给了我一个 404 错误。

angular
.module('app')
.controller('homeCtrl', ['$scope', 'friends', '$http', function($scope, friends, $http){
$scope.title = "Home";
$scope.friends = friends;
$scope.items =['item1', 'item2','item3'];
$scope.selectedValue = 'item1';

$scope.save = function() {
$http.post('./api/friends.json', friends);
};
}]);

这是 home.html

<h1>{{title}}</h1>
<ul>
<li ng-repeat = "friend in friends">
<input type="text" ng-model="friend.name">
<input type="text" ng-model="friend.age">
</li>
</ul>
<button ng-click="save()" class="btn btn-primary">Save</button>

这是friends.json的代码

[
{"name": "Will", "age": 30},
{"name": "Laura", "age": 25}
]

最佳答案

你说“我想编辑主页的内容并回发到JSON文件。”

您无法使用 Angular 保存到本地文件。 “Get”请求之所以有效,只是因为浏览器可以加载静态文件(与 css 或 html 相同)。

您绝对可以通过单击 html 而不是在任何 http 服务器中来运行应用程序。如果您在文件夹中运行服务器(例如nodejs http-server)并将浏览器连接到它。它不会提供404(但当然它不会更新json文件)

如果您需要保存数据,您需要真正的工作应用程序,它将提供 API 并处理请求和存储数据。

关于javascript - 带有 JSON 的 Angularjs,GET 可以工作,但 POST 不行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26742297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com