2016-01-23 49 views
0

我正在创建一个简单的应用程序,并首次使用$resource。我正在尝试将数据保存到位于不同文件夹中的JSON对象。不过,我收到以下错误:

Failed to load resource: the server responded with a status of 405 (Method Not Allowed)

以下是我的代码:

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; 
     } 
    }; 
}); 
+1

这似乎是来自您的服务器。你能否从你的服务器粘贴相关代码片段? – gnerkus

回答

0

您不能发布数据的静态资源文件,如.json扩展

您必须使用一种编程语言上的服务器来处理该文件。

请求应该去服务器端脚本端点