我使用Create-react-app建立了一个房地产网站。其中一个 API 在生产中给了我 Cors 错误。按照netlify的文档,我在项目的根目录中设置了一个netlify.toml文件。在其中我使用以下规则
''
[[redirects]]
from = "/api/*"
to = "https://completecriminalchecks.com/:splat"
status = 200
force = true
我的原始请求如下所示:
const response = await fetch(
`/api/json/?apikey=6s4122z013xlvtphdfsdfxxe19&search=radius&miles=2¢er=${theZip}`,
{
method: "GET",
headers: {
"Access-Control-Allow-Origin": "*"
}
}
我希望这会将我的请求代理到 https://completecriminalchecks.com/+/api/json/?apikey=6s4122z013xlvtfsdfxxe19&search=radius&miles=2¢er=${theZip}
but when I check my network dev tools the request is made to
Request URL: https://jessehaven.netlify.app/api/json/?apikey=6s4122z013vfvffxlvtphrnuge19&search=radius&miles=2¢er=18702
为什么它不代理我在 to 规则中拥有的内容?
我想你的 api 域是 https://completecriminalchecks.com/api/的。如果是这种情况,请在您的 url 后添加/api,如下所示,它应该可以工作。
另外,我希望您在netlify.toml文件中[[重定向]]行之后的每个配置行之前应用两个空格
[[redirects]]
from = "/api/*"
to = "https://completecriminalchecks.com/api/:splat"
status = 200
force = true
============我正在使用下面的 netlify.toml conf 及其对我的 SPA 的工作======
# api redirect.
[[redirects]]
from = "/api/*"
to = "http://X.X.X.X/api/:splat"
status = 200
# SPA router support.
[[redirects]]
from = "/*"
to = "/index.html"
status = 200