Я создаю простое приложение и впервые использую $resource
. Я пытаюсь сохранить данные в объект JSON, расположенный в другой папке. Но я получаю следующую ошибку:
Не удалось загрузить ресурс: сервер ответил статусом 405 (метод не разрешен)
Ниже приведен мой код:
NewEvent.html
<form name="editEventForm">
<fieldset>
<label for="eventName">Event Name:</label>
<input id="eventName" type="text" required placeholder="Name of your event..." ng-model="event.name"> </br></br>
</fieldset>
<button type="submit" ng-disabled="editEventForm.$invalid" ng-click="saveEvent(event, editEventForm)">Save</button>
<button type="button" ng-click="cancelEdit()">Cancel</button>
</form>
EditEventController.js
eventsApp.controller('EditEventController',
function EditEventController($scope, eventData){
$scope.saveEvent = function(event, editEventForm){
if(editEventForm.$valid){
eventData.save(event);
console.log("Succeed");
//window.alert('Event ' + {{event.name}} + ' is created.');
}
}
$scope.cancelEdit = function(){
window.location = 'EventDetails.html';
}
});
EventData.js
eventsApp.factory('eventData', function($resource, $q){
var resource = $resource('data/event/:id', {id: '@id'});
return {
getEvent: function() {
var deferred = $q.defer();
resource.get({id:"1.json"},
function(event) {
deferred.resolve(event);
},
function(response) {
deferred.reject(response);
}
);
return deferred.promise;
},
save: function(event) {
var deferred = $q.defer();
event.id = 999;
resource.save(event,
function(response) {deferred.resolve(response);},
function(response) {deferred.reject(response);}
);
return deferred.promise;
}
};
});
Вы не можете отправлять данные в файл статического ресурса, например расширение .json
Вы должны использовать язык программирования на сервере для управления этим файлом.
Запрос должен перейти на конечную точку сценария на стороне сервера