axios.patch / axios.put не работает в Vue и Laravel - PullRequest
0 голосов
/ 04 июля 2018

У меня есть этот код в моем файле Vue

saveProfile() {
    axios.patch('/api/pegawai/' + this.id, {
         data: this.data
    })
    .then(function (response) {
         console.log(response);
    })
    .catch(function (error) {
         console.log(error);            
    });
}

и в моем контроллере laravel

public function update(Request $request, $id){
     return $this->sendResponse('request retrieved');
}

public function sendResponse($message){
    $response = [
        'success' => true,
        'message' => $message,
    ];
    return response()->json($response, 200);
}

когда я запускаю файл vue для передачи данных в контроллер он должен дать мне ответ json на консоль браузера со следующим значением

{
  'success' : true,
  'message' : 'request retrieved'
}

но в настоящее время выдает мне ошибку 500 internal server error через консоль браузера. Я получаю тот же результат, если заменить axios.patch на axios.put.

--- Что я уже пробовал ---

Я пытался сделать axios.post и axios.get с теми же сценариями, что и axios.patch, и оба работают правильно. Контроллер для поста и получения:

public function store(Request $request){
    return $this->sendResponse('request retrieved');
}

public function index(){  
    return $this->sendResponse('request retrieved');
}

1 Ответ

0 голосов
/ 12 июля 2018

на самом деле HTTP PUT не распознается стандартом HTML. Попробуй взломать так:

saveProfile() {
    axios.post('/api/pegawai/' + this.id, {
         data: this.data,
         _method: 'patch'
    })
    .then(function (response) {
         console.log(response);
    })
    .catch(function (error) {
         console.log(error);            
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...