2016-01-04 4 views
1

Помогите, у меня есть ошибка 400 в методе POST и PUT, но GET работает нормально, Я использую угловой как front end и laravel как API, мой сервер использует nginx, Я использовал CORS, и я все отлично работаю на своем местном бродяге, который работает на Apache.angular 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, и я попытался использовать Postman: POST работает с использованием текстового типа и возвращает 405 с помощью приложения/json, , но когда я попытался PUT-метод даже хотя вернуть 200 я получил только NULL данные, введенные в мой дб (текст типа), и если я использую приложение/JSon это вернуть 400

Пожалуйста, помогите

+0

что сообщение об ошибке, отличное от плохого запроса? – ssuhat

+0

нет, о, я забыл упомянуть о другом методе, вызывающем другой код ошибки POST cause 405, PUT cause 400, и я попытался использовать функцию echo «...»; в 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 })

как-то работает, кроме мазута на моей странице входа в систему с помощью stellizer сделать метод столба и я не могу найти, как я должен изменить его, не нарушая все функции ...

любой? мне нужно только добавить: заголовки: { 'Content-Type': 'применение/х-WWW-форм-urlencoded} и данные: $ .param ({......})

Смежные вопросы