Saltar al contenido

Axios tiene un problema de CORS

Si te encuentras con algo que no entiendes puedes dejarlo en los comentarios y te ayudaremos lo mas rápido que podamos.

Solución:

su servidor debe habilitar las solicitudes de origen cruzado, no el cliente. Para ello, puedes consultar esta bonita página con implementaciones y configuraciones para múltiples plataformas.

Puede ayudar a alguien:

estoy enviando datos de react aplicación a golang servidor.

Una vez que cambie esto, w.Header().Set("Access-Control-Allow-Origin", "*"). El error se ha solucionado.

Función de envío de formulario de reacción:

async handleSubmit(e) 
    e.preventDefault();

    const headers = 
        'Content-Type': 'text/plain'
    ;

    await axios.post(
        'http://localhost:3001/login',
        
            user_name: this.state.user_name,
            password: this.state.password,
        ,
        headers
        ).then(response => 
            console.log("Success ========>", response);
        )
        .catch(error => 
            console.log("Error ========>", error);
        
    )

Ir servidor tiene enrutador,

func main()  
    router := mux.NewRouter()

    router.HandleFunc("/login", Login.Login).Methods("POST")

    log.Fatal(http.ListenAndServe(":3001", router))

Iniciar sesión.ir,

func Login(w http.ResponseWriter, r *http.Request)  

    var user = Models.User
    data, err := ioutil.ReadAll(r.Body)

    if err == nil 
        err := json.Unmarshal(data, &user)
        if err == nil 
            user = Postgres.GetUser(user.UserName, user.Password)
            w.Header().Set("Access-Control-Allow-Origin", "*")
            json.NewEncoder(w).Encode(user)
        
    

Me he encontrado con el mismo problema. Cuando cambié el tipo de contenido, se resolvió. No estoy seguro de que esta solución lo ayude, pero tal vez lo sea. Si no te importa el tipo de contenido, funcionó para mí.

axios.defaults.headers.post['Content-Type'] ='application/x-www-form-urlencoded';

Más adelante puedes encontrar las explicaciones de otros usuarios, tú incluso eres capaz dejar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *