2016-01-23 68 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擴展

您必須使用一種編程語言上的服務器來處理該文件。

請求應該去服務器端腳本端點