Заголовок CORS «Access-Control-Allow-Origin» отсутствует для json POST с использованием API - PullRequest
0 голосов
/ 20 февраля 2020

Установлен фруктовый торт / laravel -cors на Laravel 5.8

Мой тестовый сервер использует php ремесленное подача на 127.0.0.1:8000 с использованием маршрутов / API. php клиент (nuxt) работает 127.0.0.1:3000

Я могу отправить данные на сервер с помощью инструмента POSTMAN

Я настроил fruitcake / laravel -cors

protected $middleware = [
    // ...
    \Fruitcake\Cors\HandleCors::class,
];

и config / cors. php

<?php

return [

    /*
     * You can enable CORS for 1 or multiple paths.
     * Example: ['api/*']
     */
    'paths' => [],

    /*
    * Matches the request method. `[*]` allows all methods.
    */
    'allowed_methods' => ['*'],

    /*
     * Matches the request origin. `[*]` allows all origins.
     */
    'allowed_origins' => ['*'],

    /*
     * Matches the request origin with, similar to `Request::is()`
     */
    'allowed_origins_patterns' => [],

    /*
     * Sets the Access-Control-Allow-Headers response header. `[*]` allows all headers.
     */
    'allowed_headers' => ['*'],

    /*
     * Sets the Access-Control-Expose-Headers response header.
     */
    'exposed_headers' => false,

    /*
     * Sets the Access-Control-Max-Age response header.
     */
    'max_age' => false,

    /*
     * Sets the Access-Control-Allow-Credentials header.
     */
    'supports_credentials' => false,
];

Все еще получает:

Доступ к XMLHttpRequest в 'http://127.0.0.1: 8000 / api / customerFeedbackStore 'from origin' http://127.0.0.1: 3000 'заблокировано политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

в браузере.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Кажется, Cors был настроен правильно, но var_dump () и dd () перед возвратом в любом случае вызвали сообщение. Кроме того, ничего не возвращая приводит к тому, что сообщение cors ..

        var_dump($request);
        dd($request);

return с ответом json (как я использую Json) работало нормально. (любые другие предложения возврата?)

        return response()->json([
            'data-received' => true
        ]);
0 голосов
/ 20 февраля 2020

«пути» не должны быть пустыми. Вы должны по крайней мере установить его на ['*'], чтобы он покрывал каждый запрос.

...