2016-07-22 90 views
1

我試圖用角的POST和PUT方法,但我不斷收到錯誤:響應具有無效的HTTP狀態碼404 AngularJS

Response for preflight has invalid HTTP status code 404

我的代碼:

 $http({ 
      method: "POST", 
      url: "http://localhost:4567/api/v1/project", 
      data: project_data 
     }).then(function successCallback(response) { 
      console.log(response); 
     }), 
     function errorCallback(response) { 
      console.log('error!'); 
      console.log(response); 
     } 


     $http({ 
      method: "PUT", 
      url: "http://localhost:4567/api/v1/project/1", 
      data: data 
     }).then(function successCallback(response) { 
      console.log(response); 
     }), 
     function errorCallback(response) { 
      console.log('error!'); 
      console.log(response); 
     } 

有誰知道可能會發生什麼或如何解決?我發現的其他解決方案涉及服務器端代碼的更改(在這種情況下,我無法訪問服務器)。提前致謝!

+0

你應該通過實際的ID,而不是':id'在URL中,你能想到的最好使用'$ resource'庫 –

+0

喜 - 我嘗試傳遞':id'參數,但我仍然得到相同的錯誤.. –

+0

你在運行什麼樣的服務器? –

回答

0

如果使用Node.js的,只是這樣做:

app.options('/api/v1/project/1', function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "Content-Type, Content-Length, Authorization, Accept,X-Requested-With"); 
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); 
    res.header("Content-Type", "application/json;charset=utf-8"); 
    res.status(204);//important 
    res.end() 
}); 
app.put('/api/v1/project/1', function(req, res, next) { 
    ...your normal code here 
}) 
相關問題