在next.js中发送对Api的发布请求

时间:2020-08-22 16:34:02

标签: javascript php reactjs axios next.js

我正在尝试使用next.js向Exist API发送请求 PHP的后端,我正在尝试发送带有数据的发布请求(Axios)并查看响应 谁可以在我的代码中处理此API 我读到我需要在API文件中放入一些代码,但我不知道怎么做? 除了终点我应该在哪里?

export default Login;

1 个答案:

答案 0 :(得分:1)

您的next.js代码很好,并且由于Internet连接问题,CORS策略等原因导致Axios库无法与服务器通信时,会发生注释中提到的错误。

我尝试在系统上运行您的代码,这就是我在控制台中得到的内容

enter image description here

enter image description here

我尝试使用邮递员运行API调用,它似乎正常工作。因此,排除了原因1,并且导致错误的唯一原因是CORS,如图所示。

我也用我的API替换了您的API调用,该代码似乎可以正常工作。因此,请确保这与nextjs或Axios无关。

还请注意,如果您愿意将Cookie发送到服务器, 具有与您的nextjs正在运行的域不同的域,那么您 将需要添加withCredentials:在axios中为true。就像是 这个。

axios.get('url', {withCredentials: true});

解决方案:

允许服务器允许的源上的端口(例如localhost:3000)访问它。

header('Access-Control-Allow-Origin: *'); 

要在PHP中启用CORS,请查看以下解决方案: Cross-Origin Request Headers(CORS) with PHP headers

希望这可以解决您的问题。如果还是不能,请在下面发表评论。