如何将React JS前端与Node JS后端连接?

时间:2020-01-31 13:19:23

标签: node.js reactjs mongodb express next.js

我正在开发一个在前端使用react js并在后端表达js的Web应用程序,我还将MongoDB用作数据库。

我一直遵循本教程,其中YouTuber使用Axios来在react js应用程序和express js API之间建立连接。

现在我有两个问题:

Next JS用于此类事情吗?如果不是,那么Next js是什么? 我应该像教程一样使用Axios吗?还是针对这种情况有更好的解决方案? 预先谢谢你。

2 个答案:

答案 0 :(得分:1)

Next Js基本上可以让您使用React构建服务器端渲染和静态Web应用程序。

您可以使用以下方法连接到使用axios支持的Nodejs

axios.post(url,data, {
headers: {
    'authorization': your_token,
    'Accept' : 'application/json',
    'Content-Type': 'application/json'
}
})
.then(response => {
// return  response;
})
.catch((error) => {
//return  error;
});

如果your_token是身份验证令牌(如果有的话),则url是要访问的nodejs url,而data是提供的用于将数据发布到节点服务器的正文。

答案 1 :(得分:1)

要获取数据,您可以使用内置的 fetch axios 库中的真棒:

fetch(/* url to your backend, eg. http://localhost:3000/mydata */
 , /* notice comma */
 /* other options, eg. method: ”post” */)
.then(response => res.json() /* convert server response from string to JSON */)
.then(data => /* your data array or object like */)

有关详细信息:MDN: fetch API

检查浏览器的控制台是否存在cors问题?

使用创建react应用,您正在构建单页应用(SPA),这是标准操作,整个应用都作为JS捆绑包提供给客户浏览器,然后仅从服务器获取数据。

另一方面, Nextjs 服务器端渲染,是两个世界中最好的,它有助于提高搜索页面的排名引擎,减轻了客户的负担,尤其是(低功耗移动设备)等 如果有趣nextjs

,请检查此内容