Esta es la primera vez que uso axios y encontré un error.
axios.get(
`http://someurl.com/page1?param1=1¶m2=${param2_id}`
)
.then(function(response) {
alert();
})
.catch(function(error) {
console.log(error);
});
Con la URL y los parámetros correctos, cuando verifico las solicitudes de red, de hecho obtengo la respuesta correcta de mi servidor, pero cuando abro la consola, veo que no llamó a la devolución de llamada, sino que detectó un error.
Error: seguimiento de la pila de errores de red: createError@http://localhost:3000/static/js/bundle.js:2188:15
handleError@http://localhost:3000/static/js/bundle.js:1717:14
jacobhobson
Si crea una API usando NodeJS
Su aplicación Express necesita usar CORS (intercambio de recursos de origen cruzado). Agregue lo siguiente a su archivo de servidor:
// This should already be declared in your API file
var app = express();
// ADD THIS
var cors = require('cors');
app.use(cors());
Para una comprensión más completa de CORS, lea el Documentación de Mozilla sobre CORS.
-
No estoy usando Express. Estoy usando Axios en la aplicación ReactJS. ¿Qué puedo hacer para usar CORS en axios?
– Ahmed
12 de agosto de 2019 a las 21:13
-
Un punto importante es agregar el cors middleware antes del código que maneja la solicitud
– Deniz Ozger
25 de agosto de 2020 a las 19:22
-
¡GRACIAS!, Salvavidas. Estaba intentando ejecutar una aplicación angular que se comunicaba con el nodo desde mi teléfono y no funcionó. Incluso cuando funcionaba desde mi computadora. Si el nodo no puede encontrar CORS “módulo no encontrado”, simplemente ejecute npm install cors.
– Ramón Araújo
17 de septiembre de 2020 a las 8:01
-
esta respuesta también se aplica a NestJS, obtuve el mismo error en el lado del cliente y tuve que agregar
{ cors: true }
aNestFactory.create
. – ,,,,,app = await NestFactory.create(AppModule, { cors: true });
– Ofir G
26 de marzo de 2021 a las 14:48
-
Estoy usando django. ¿Cómo puedo solucionar este problema?
– Sumit
2 mayo 2021 a las 16:34
mahdieh shavandi
mi problema era sobre la url que estaba solicitando. yo no había insertado http://
al principio de mi url. Quiero decir que estaba solicitando una URL como 92.920.920.920/api/Token
en lugar de http://92.920.920.920/api/Token
. agregando http://
resolvió mi problema
-
Estoy usando eso, incluso subo mi aplicación nodejs a heroku
– barro atado
4 de abril de 2020 a las 16:33
Ocurre cuando trabajas en localhost y olvidaste agregar http://
uso incorrecto
const headers = {
"Content-Type": "application/json",
Authorization: apiKey,
};
const url = "localhost:5000/api/expenses/get-expenses";
axios.get(url, { headers });
// NETWORK ERROR
el correcto es
const headers = {
"Content-Type": "application/json",
Authorization: apiKey,
};
const url = "http://localhost:5000/api/expenses/get-expenses";
axios.get(url, { headers });
// WORKS FINE IF YOU HANDLED CORS CORRECTLY IN THE SERVER SIDE
-
Olvidar el puerto hizo que no funcionara para mí, y esto me ayudó a desencadenar el pensamiento, ¡gracias!
– Jim
23 de marzo de 2021 a las 19:52
Además de la respuesta de @jacobhobson, también usé algunos parámetros para que funcionara.
app.use(cors({origin: true, credentials: true}));
hassaan rana
Estaba teniendo el mismo problema con la producción en la gota digital del océano. yo estaba usando axios en ReaccionarJS llamar Nodo.js API.
Aunque incluí cors
const cors = require('cors');
app.use(cors());
Pero aún tenía que agregar
res.header( "Access-Control-Allow-Origin" );
antes de llamar a mi controlador. Y funcionó para mí. Allí me di cuenta de que cors no funciona correctamente. Así que los desinstalé y los volví a instalar y ¡Funciona!
El código completo está aquí.
Así que o usas
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.header("Access-Control-Allow-Headers", "x-access-token, Origin, X-Requested-With, Content-Type, Accept");
next();
});
o usar
app.use(cors());
Es lo mismo.
-
y donde debo incluir cors “` const cors = require(‘cors’); app.use(cors()); “` ?
– Juan
4 de julio de 2020 a las 8:23
-
Puede usarlo antes de llamar a sus rutas en server.js o si está usando algún software intermedio, puede colocar estas líneas allí. PD: también actualicé mi respuesta.
– Hassan Rana
14 de julio de 2020 a las 17:42
-
tengo uso
app.use(cors());
aunque muestra un error de red. Pero no siempre recibo este error. Estoy llamando a una API para la carga de videos. Despues de llamar varias veces me esta tirando el error de red.– Jayna Tanawala
17 de agosto de 2021 a las 6:04
-
@JaynaTanawala ¿Has instalado cors? Intente ejecutar “npm install cors –save”
– Hassan Rana
30 de noviembre de 2021 a las 7:58
-
si. Haberlo instalado.
– Jayna Tanawala
2 de diciembre de 2021 a las 6:03
Skoua
Recibí un error de red con axios 0.27.2 cuando intentaba cargar una imagen en nuestro servidor. Después de configurar encabezados como los siguientes, no se recibe ningún error.
headers:{"Accept":"application/json, text/plain, /","Content-Type": "multipart/form-data"}
y debe verificar con el tipo de cuerpo de su solicitud de API en su colección, como si se trata de datos de formulario o x-wwww-form-urlencoded o ..etc.
-
y donde debo incluir cors “` const cors = require(‘cors’); app.use(cors()); “` ?
– Juan
4 de julio de 2020 a las 8:23
-
Puede usarlo antes de llamar a sus rutas en server.js o si está usando algún software intermedio, puede colocar estas líneas allí. PD: también actualicé mi respuesta.
– Hassan Rana
14 de julio de 2020 a las 17:42
-
tengo uso
app.use(cors());
aunque muestra un error de red. Pero no siempre recibo este error. Estoy llamando a una API para la carga de videos. Despues de llamar varias veces me esta tirando el error de red.– Jayna Tanawala
17 de agosto de 2021 a las 6:04
-
@JaynaTanawala ¿Has instalado cors? Intente ejecutar “npm install cors –save”
– Hassan Rana
30 de noviembre de 2021 a las 7:58
-
si. Haberlo instalado.
– Jayna Tanawala
2 de diciembre de 2021 a las 6:03
Amir Mehrnam
En mi caso usé “https” en lugar de “http“, comprueba eso también.
-
por ejemplo, debe usar
https://api.coincap.io/v2/assets
Noapi.coincap.io/v2/assets
en la URL de Axios– paydarsefat
21 de mayo de 2022 a las 8:54
Es posible que pueda averiguar más sobre esto usando
console.log(error.response.data)
.– fúne
31 de agosto de 2017 a las 11:28
Vea esta respuesta, lo ayudará a saber cuál es exactamente el error stackoverflow.com/questions/44806333/…
– Shubham Jatri
31 de agosto de 2017 a las 11:37
@FaustoNA error.response no está definido
– Mirakurun
3 de septiembre de 2017 a las 13:07
@ShubhamKhatri aparentemente CORS es el problema
– Mirakurun
3 sep 2017 a las 15:27
Genial, pudiste resolverlo. Pero maneje los errores con axios como se menciona en el enlace que publiqué
– Shubham Jatri
3 de septiembre de 2017 a las 16:18