Solicitud de Axios: bloqueada por la política de CORS

En laravel 5.8, / "vue": "^2.5.17" / "axios": "^0.18"necesito leer datos externos que se leen del cartero ok: https://imgur.com/a/SRBmK0P

Intento leer estos datos usando axios y obtuve un error: https://imgur.com/a/o97xLm7

En el buscador, veo detalles de la solicitud: https://imgur.com/a/EUkyV43

Mi código JS:

            axios.post(window.REMOTE_SEARCH_WEB, {
                "query": "pc gamers",
                "blogger": false,
                "company": false,
                "influencer": false,
                "article": false,
                "pageId": 1,
                "sort": null,
                "sortOrder": null,
                "searchType": 1,
                "Access-Control-Allow-Origin": this.app_url,
                "Access-Control-Allow-Methods": "POST",
                "Access-Control-Max-Age": 86400,
                "Access-Control-Allow-Headers": "Content-Type, Authorization",
                'Access-Control-Allow-Credentials': 'true'
            }).then((response) => {

donde this.app_urlse encuentra urlel sitio donde se ejecuta la aplicación.

En Google encontré que varios parámetros Access-Control-*deben completarse, como en el código anterior, pero eso no me ayudó.

¿Puedes decir cómo lo arreglo?

¿Puede ser que una decisión podría ser de mi código js con axios para ejecutar acciones en mi control y desde allí hacer una solicitud usando PHP / Laravel? En caso afirmativo, proporcione un ejemplo de dicha decisión ...

BLOQUE MODIFICADO: instalé el paquete https://github.com/barryvdh/laravel-cors y

1) en el archivo agregué la línea en la aplicación / Http / Kernel.php

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

Agregué en el grupo de middleware I que no es '/ api' interno, sino una solicitud externa. ¿Es correcto?

2) Dejé el archivo config / cors.php sin cambios:

return [

    'supportsCredentials' => false,
    'allowedOrigins' => ['*'],
    'allowedOriginsPatterns' => [],
    'allowedHeaders' => ['*'],
    'allowedMethods' => ['*'],
    'exposedHeaders' => [],
    'maxAge' => 0,

];

3) En la solicitud axios.post eliminé todos los parámetros de control de acceso

axios.post(window.REMOTE_SEARCH_WEB, {
    "query": "pc gamers",
    "blogger": false,
    "company": false,
    "influencer": false,
    "article": false,
    "pageId": 1,
    "sort": null,
    "sortOrder": null,
    "searchType": 1,
}).then((response) => {

4) Pero el mismo error en la solicitud: https://imgur.com/a/wbgmrps

Qué está mal ?

¡Gracias!

Respuesta 1

Puede resolverlo creando un middleware interceptor en su backend, que adjuntará los Access-control-allowencabezados a la solicitud.

Crear un middleware cors

public function handle($request, Closure $next)
    {
        return $next($request)
          ->header('Access-Control-Allow-Origin', '*') //REPLACE STAR WITH YOUR URL
          ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
          ->header('Access-Control-Allow-Headers', 'content-type, authorization, x-requested-with');
    }

Luego, enumere el middleware en la lista global de middleware en app / http / kernel.php

 protected $middleware = [
             ...
             \App\Http\Middleware\Cors::class
]
Respuesta: 2

Estoy buscando si es posible agregar un elemento ("acerca de" la aplicación) en el menú del sistema Winwdows del JFrame actual. Como se sugiere en esa respuesta, sé que podría ser posible ajustar ...

He convertido un proyecto Maven en un jar y ahora, estoy tratando de importar este Jar a la biblioteca de un nuevo proyecto no Maven. Traté de escribir el método principal por mi cuenta para llamar al tarro Maven ...

Al escribir el código de la base de datos, generalmente evito que se produzca una excepción ConstraintViolationException al verificar los registros antes de actualizar o insertar. No espero una ContraintViolationException para ...

Tengo mi aplicación implementada en un clúster con dos servidores. Cuando configuro cualquier atributo usando: this.getServletContext (). SetAttribute ("test", testObj); ¿El atributo testObj con prueba clave será ...