reactjs - 代理属性在 package.json 中不起作用
问题描述
我是新手,我正在尝试向 API 端点发出发布请求。我将 package.json 中的代理放在端点 url 上,这里是 fetch 函数:
const requestOptions = {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
username: username,
password: password,
}),
};
const res = await fetch("/token", requestOptions);
这是我的代理道具:"proxy": "https://somedomain/api/auth"
当我这样做时console.log(res.url)
,它总是打印“http://localhost:3000/api/auth/token/”而不是“https://somedomain/api/auth/token/”
这是为什么 ?
有什么解决办法吗?
解决方案
您需要添加Accept
当前缺少的标题。标头如下所示:
headers: {
"Content-Type": "application/json",
"Accept": "application/json"
}
其他代理方式
- 您可以下载该
http-proxy-middleware
软件包并配置您的代理。 - 您可以使用webpack 代理并将您的请求发送到不同的终端服务器。
module.exports = {
devServer: {
proxy: {
'/api': 'http://localhost:3000'
}
}
};
注意:请记住,CORS 问题会弹出,因此也要添加Access-Control-Allow-Origin
标题。
推荐阅读
- android - android kotlin shared preferences unresolved reference getSharedPreferences 错误
- windows-authentication - Net 5 Windows 身份验证:禁用自动登录以避免自定义 LDAP 代码
- ios - Flutter iOS,后台显示原生屏幕
- javascript - function for delete nodes of tree
- c# - 从 Azure 队列 Run() 方法内部调用实体框架核心工作单元?
- xamarin.android - 保存图像时面临路径访问被拒绝权限
- google-cloud-build - Cloud Build:与 monorepo 一起使用
- excel - Excel时间加法
- html - 具有响应式设计的旋转元素
- javascript - 如何从嵌套数组中获取单个名称属性?