Javascript 反应:Axios网络错误

Javascript 反应:Axios网络错误,javascript,reactjs,axios,Javascript,Reactjs,Axios,这是我第一次使用axios,我遇到了一个错误 axios.get( `http://someurl.com/page1?param1=1&param2=${param2_id}` ) .then(function(response) { alert(); }) .catch(function(error) { console.log(error); }); 使用正确的url和参数,当我检查网络请求时,我确实从我的服务器得到了正确的答案,但

这是我第一次使用axios,我遇到了一个错误

  axios.get(
    `http://someurl.com/page1?param1=1&param2=${param2_id}`
  )
  .then(function(response) {
    alert();
  })
  .catch(function(error) {
    console.log(error);
  });
使用正确的url和参数,当我检查网络请求时,我确实从我的服务器得到了正确的答案,但当我打开控制台时,我看到它没有调用回调,而是捕获了一个错误

错误:网络错误 堆栈跟踪: 创建错误@ 手杖@

如果使用NodeJS创建API
您的Express应用程序需要使用CORS(跨来源资源共享)。将以下内容添加到服务器文件:

//这应该已经在API文件中声明了
var-app=express();
//加上这个
var cors=要求(“cors”);
应用程序使用(cors());

要更全面地了解CORS,请阅读

我的问题是关于我请求的url。我没有在url的开头插入
http://
。我的意思是我请求的是像
92.920.920.920/api/Token
这样的url,而不是
http://92.920.920.920/api/Token
。添加
http://
解决了我的问题。

除了@jacobhobson answer之外,我还使用了一些参数使其工作

app.use(cors({origin: true, credentials: true}));

我在《数字海洋水滴》的制作上也遇到了同样的问题。我在ReactJS中使用axios调用Node.jsAPI

虽然我包括了cors

const cors = require('cors');
app.use(cors());
但我还是要补充一点

res.header( "Access-Control-Allow-Origin" );
在呼叫我的控制器之前。这对我很有效。在那里我意识到cors不能正常工作。因此,我卸载并再次安装了它们,它可以正常工作

完整的代码在这里

所以要么你用

 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();
});
或使用

app.use(cors());

它是相同的。

确保您在
cors({origin:[”中具有相同的端口号http://localhost:3001“]})
.env
文件。

在本地主机上工作时,如果忘记添加http://

错误使用

  const headers = {
    "Content-Type": "application/json",
    Authorization: apiKey,
  };
  const url = "localhost:5000/api/expenses/get-expenses";

  axios.get(url, { headers });

  // NETWORK ERROR

正确的答案是

  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


就我而言,它发生在我的互联网连接不稳定的时候。请确保您的internet连接稳定。

在我的例子中,我使用了“https”而不是“http”,请也检查一下。

您可以使用
控制台.log(error.response.data)
了解更多信息。请参阅此答案,它将帮助您了解错误的确切含义@FaustoNA error.response是undefined@ShubhamKhatri很明显CORS是个问题很好你能解决它。但是,请按照我在postedI中没有使用Express的链接中提到的那样处理axios的错误。我正在ReactJS应用程序中使用Axios。如何在axios中使用CORS?一个重要的问题是在处理请求的代码之前添加CORS中间件谢谢!,拯救生命。我试着运行一个angular应用程序,它可以从我的手机上与node通信,但它不起作用。即使它在我的电脑上工作。如果节点找不到CORS“找不到模块”,只需运行npm install CORS。这个答案也适用于NestJS,我在客户端遇到了相同的错误,必须将
{CORS:true}
添加到
NestFactory.create
app=wait-NestFactory.create(AppModule,{cors:true})我正在使用django。我如何解决这个问题?我正在使用它,我甚至将我的nodejs应用程序上传到Herokand,在那里我应该包括cors``const cors=require('cors');app.use(cors());````?您可以在server.js中调用路由之前使用它,或者如果您使用的是某种中间件,则可以将这些行放在那里。另外,我也更新了我的答案。谢谢你帮助我+1忘记了端口使它对我不起作用,这个帮助触发了我的想法,谢谢!