我正在使用create-react-app
和react-router-dom 4
制作React应用。我的问题是,当我加载默认的“ /”以外的URL时,相对路径会优先于发出的请求。
例如,如果我在网址搜索栏中输入mysite.com/templates
,则提取请求fetch("templates/item.json")
会请求网址:mysite.com/templates/templates/item.json
,但是如果我使用以下方法从首页导航到/templates
不是来自react-router-dom的Link
组件。
有什么方法可以避免相对路径预先放置在获取请求中?
答案 0 :(得分:1)
fetch
将加载相对于您打开的URL的路径,如果您不是以/
开头或未指定绝对URL。
如果要始终从https://www.yourdomain.com/templates/item.json
进行获取,则应将获取请求修改为-> fetch("/templates/item.json")
或
指定绝对网址-> fetch("https://www.yourdomain.com/templates/item.json")