Я наблюдал за этот учебник, чтобы создать простой API и использовать его с VueJS.
У меня нет проблем с получением данных, но когда я пытаюсь создать новый Todo, я получаю эту ошибку:
OPTIONS http://localhost/vue-test/api/add-todo2 404 (Not Found) Access to XMLHttpRequest at 'http://localhost/vue-test/api/add-todo2' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status
Моя конфигурация .htaccess:
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
Это мой метод JavaScript:
addTodo(todo) {
this.todos.push(todo);
axios.post('http://localhost/vue-test/api/add-todo2', todo)
.then(data => {
console.info(data)
})
.catch(err => {
console.info(err);
});
А это мой серверный код:
Route::post('/api/add-todo', function (Request $request) {
$data = $request->input();
Todo::create([
'name' => $data['name'],
'body' => $data['body'],
'status' => $data['status']
]);
});






У меня такая же проблема. Моя проблема решена путем добавления следующих строк в файл .htaccess:
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token, cache-control"
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
Для получения дополнительной информации вы можете проверить эта статья.