2015-01-13 7 views
3

Возможно ли сделать запрос патча ajax на laravel? Или мне нужно строго использовать пост? Я понимаю, что Laravel использует патч в скрытых полях в элементах формы. Однако я не использую элементы формы, просто кнопки, которые должны частично обновлять запись при нажатии через ajax.PATCH AJAX Запрос в Laravel

Как выглядит маршрут для этого?

Маршруты файл

Route::patch('questions/{id}', '[email protected]')->before('admin');

Я не уверен, что если Laravel Маршруты поддержки патч HTTP глаголом в файле маршрутов.

Контроллер

public function update($id) { 
    if (Request::ajax()) { 
     if (Request::isMethod('patch')) 
     { 
      // partially update record here 
     } 
    } 
} 

JS FILE

$('div#question_preview <some button selector>').click(function(event) { 
     $.ajax({ 
      url: 'questions/'+question_id, 
      type: 'PATCH', 
      data: {status: <SOME VALUE I WANT>}, 
     }); 
    }); 

Просто ищет ясности здесь, спасибо!

+1

@SetKyarWaLar PUT используется, если вы знаете все содержимое ресурса. В моем случае я только обновляю часть ресурса без всех данных о ресурсах, для которых предназначен патч. – Rafael

+0

Опишите, пожалуйста, ваше мнение на ваш вопрос. @Rafael –

ответ

7

Да, можно попробовать

В вашем JavaScript

$('#div#question_preview <some button selector>').click(function() { 
     $.ajax({ 
       url: 'questions/'+question_id, 
       type: 'PATCH', 
       data: {status: <SOME VALUE I WANT>, _method: "PATCH"}, 
       success: function(res) { 

       } 
     }); 
}); 

В маршруте

Route::patch('questions/{id}', '[email protected]')->before('admin'); 

В вашем методе обновления QuestionController контроллера

dd(Request::method()); 

Вы Wi Л.Л. увидите ответ, как

string(5) "PATCH" 

Подробнее о запросе информации о Laravel doc.

+0

: D Спасибо, мужчина, ты потрясающий! Кроме того, я не включал '_method:" PATCH "' в мои данные, так как он уже запрашивается как патч, и он работал без каких-либо проблем. Спасибо за помощь, привет! – Rafael

+0

Быстрый вопрос, но как мне получить доступ к значениям состояния (в моих данных) на стороне сервера? Обычно я бы использовал $ _GET или $ _POST supers, но для патча? – Rafael

+0

Для Laravel 'Request :: isMethod ('PATCH')'? –

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