2016-01-04 70 views
1

幫助,我有POST和或PUT方法400錯誤,但GET工作得很好, 我使用angular作爲前端和laravel作爲API,我的服務器使用nginx, 我已經使用CORS和我一切工作正常我的當地流浪者是在Apache上運行。角laravel nginx 400錯誤的請求

我敢肯定,我有我的路線設置正確,這裏是它的一些我用的模塊:

Route::group(array('prefix'=>'/api', 'middleware' => 'cors'),function(){ 
    Route::post('/create_level',  '[email protected]'); 
    Route::get('/read_level',  '[email protected]'); 
    Route::get('/read_level/{id}', '[email protected]'); 
    Route::put('/read_level/{id}', '[email protected]'); 
    Route::delete('/read_level/{id}', '[email protected]'); 

這裏是我的角度服務的一部分:

app.service("edulevelService", function ($http, $q, $rootScope) 
{ 
edu.updateEdulevel = function(id, edu){ 
      var deferred = $q.defer(); 
      $http.put($rootScope.endPoint + 'read_level/'+ id, edu) 
      .success(function(res) 
       { 
       deferred.resolve(res); 
       }) 
      .error(function(err, stat){ 
       deferred.reject(err); 
       console.log('error code: Ser-UEDU'); 
       });   
       return deferred.promise; 
     } 

edu.createEdulevel = function(edu){ 
     var deferred = $q.defer(); 
     $http.post($rootScope.endPoint + 'create_level', edu) 
     .success(function(res) 
      { 
      deferred.resolve(res); 
      }) 
     .error(function(err, stat){ 
      deferred.reject(err); 
      console.log('error code: Ser-CEDU'); 
      }); 
     return deferred.promise;   
    } 
.... 

哦,我忘了提到不同的方法導致不同的錯誤代碼POST原因405,PUT導致400,並且我嘗試使用郵差: POST正在使用文本類型並返回405使用應用程序/ json, 但是當我嘗試 PUT方法甚至雖然它返回200我只得到NULL數據進入到我的分貝(文本類型),如果我使用的應用程序/ JSON其返回400

請幫助

+0

錯誤信息除壞請求外還有什麼? – ssuhat

+0

沒有,哦,我忘了提及不同的方法導致不同的錯誤代碼POST導致405,PUT導致400,我試過使用函數回聲「...」;在PHP控制器中,它沒有被調用,但它在router.php上被調用 – Michael

回答

0

終於找到了解決辦法: 變化$ http.post到:

$http({ 
 
\t \t method: "post", 
 
\t \t url: $rootScope.endPoint + 'create_level', 
 
\t \t headers: {'Content-Type': 'application/x-www-form-urlencoded'}, 
 
\t \t data: $.param({ .... }) 
 
\t })

不知它的工作原理,exept其使用stellizer做POST方法我的登錄頁面上,我無法找到我應該怎麼改變它沒有打破所有的功能...

任何一個? 我只需要添加: 頭:{ '內容類型': '應用程序/ X WWW的形式,進行了urlencoded'} 和 數據:$ .PARAM({......})