[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Renato Machado
Criador Renato Machado 01/03/2023

professor Carlos, sei que foge um pouco do contexto da aula, mais sera que pode me ajudar?

Afim de ter conhecimento didadico estou tentando consumir e fazer requisição de uma API com javascript puro usando Fetch

Consumir esta ok

Mais pra fazer um post estou tendo um erro de cors:

Access to fetch at 'https://produtos.acessohost.com.br/api/products/' from origin 'https://acessohost.com.br' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

Mais somente para requisição POST

esse é o link pra a api

https://acessohost.com.br/testeApi/

esse é o codigo js

const form = document.querySelector('#form'); form.addEventListener("submit", function(e){ e.preventDefault(); getValues(this); }); async function getValues(v){ const url = "https://produtos.acessohost.com.br/api/products/"; const data = new FormData(v); console.log(data); const params = { method: 'POST', mode: 'cors', cache: 'default', headers: { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Authorization", "Access-Control-Allow-Methods": "GET, POST, OPTIONS, PUT, PATCH, DELETE" , "Content-Type": "application/json" }, body: JSON.stringify(data) }; const response = await fetch(url, params); const res = await response.json(); console.log("Cadastro", res); }

Manager Carlos Ferreira 01/03/2023

Olá, Renato!
Como vai?

Qual a versão do Laravel?
Se for uma versão mais antiga, precisa instalar um package de cors, se for uma versão mais atual, não precisa, porque já vem configurado por default;

Carlos Ferreira
Criador Renato Machado 01/03/2023

Minha versão é 9 do laravel e esse erro de cors só apresenta qdo faço requisição post, get flui normal

https://acessohost.com.br/testeApi/

 

 

Mais pra fazer um post estou tendo um erro de cors:

Access to fetch at 'https://produtos.acessohost.com.br/api/products/' from origin 'https://acessohost.com.br' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

 

Estou a semanas tentado resolver isso ja pesquisei e nada

meu arquivo cors

 

'paths' => ['api/*', 'sanctum/csrf-cookie'],

 

    'allowed_methods' => ['*'],

 

    'allowed_origins' => ['*'],

 

    'allowed_origins_patterns' => [],

 

    'allowed_headers' => ['*'],

 

    'exposed_headers' => [],

 

    'max_age' => 0,

 

    'supports_credentials' => false,

Renato Machado
Manager Carlos Ferreira 01/03/2023

Tem um print do erro?
Porque não deveria ter erro de CORS apenas para requisições POST, seria especialmente um erro no retorno da API (com o verbo http GET);

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!