Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

337
Views
La segunda función axios no se ejecuta después de llamar a la primera - Reaccionar

Tengo dos funciones axios configuradas en React. La primera función extrae una página para recuperar una lista de enlaces y devuelve aleatoriamente uno de esos enlaces. La siguiente función usa ese enlace como argumento para raspar esa página web y devuelve el título y el primer párrafo en una matriz. Entonces la segunda función depende de la primera.

Cuando trato de implementar esto usando el gancho useEffect , puedo hacer que funcione la primera función, pero la segunda función no recupera el enlace devuelto por la primera y da un error. Es como si el segundo no estuviera esperando que se devolviera el primero, a pesar de que usé await . ¿Alguien puede ayudarme a ver dónde me he equivocado?

 import getLink from "./getLink.js"; // Scrapes a page for an array of links, // returns one of those links randomly (string) import getPage from "./getPage.js"; // Scrapes the page from getLink, // returns [h1 text, p text] (array) import {useEffect,useState} from "react"; const Body = () => { const [text, setText] = useState([]); useEffect(() => { const getData = async () => { const link = await getLink(); const data = await getPage(link); setText(data); } getData(); }, []); return ( <div> <h1>{text[0]}</h1> <div dangerouslySetInnerHTML={{__html: text[1]}}></div> </div> ) } export default Body;

Mensaje de error : el acceso a XMLHttpRequest en 'enlace desde getLink' desde el origen 'http://localhost:3000' ha sido bloqueado por la política de CORS: No hay encabezado 'Access-Control-Allow-Origin' en el recurso solicitado.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Debe asegurarse de que haya CORS en el servidor al que solicita el texto. Puede incluir los encabezados correctos usando middleware, en caso de que esté usando express.js, eche un vistazo a los documentos del paquete cors.

Puede verificar los encabezados de respuesta ejecutando

 curl -v http://localhost:3000

Una solución temporal sería incluir { mode: 'no-cors' } en las opciones de solicitud.

about 4 years ago · Juan Pablo Isaza Report

0

El raspado funciona cuando agregué "proxy": "[domain name]" en package.json y eliminé los nombres de dominio de los enlaces que uso en mi proyecto.

De: https://www.youtube.com/watch?v=hxyp_LkKDdk

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!