react中fetch怎么一直是相对路径?

新手上路,请多包涵

fetch("www.baidu.com", {...})
通过response.url得到的显示我实际上fetch的路径是
"http://localhost:????/www.baidu.com"

而我改成fetch("https://www.baidu.com", {...})
则response.url显示我实际上fetch的路径竟然是空的

项目就是直接create-react-app弄的,查了半天不知道问题出在哪里

阅读 2.4k
1 个回答
  • 如果路径不以斜线/开头,会被拼接到当前域名的当前目录下;

    open('www.baidu.com') 打开的是 https://segmentfault.com/q/www.baidu.com
  • 如果路径以单斜线/开头,会被拼接到当前域名下;

    open('/www.baidu.com') 打开的是 https://segmentfault.com/www.baidu.com
  • 如果路径以双斜线//开头,则可以解析双斜线后面的域名,但是使用与当前页面相同的协议(http/https);

    open('//www.baidu.com') 打开的才是 https://www.baidu.com
    一般推荐这种使用方法。
  • 如果路径以协议+双斜线开头,视为完整的路径,浏览器不会修改。

另外,fetch('https://www.baidu.com')跨域了,会被 CORS 阻断,所以从 JS 无法获取到经过浏览器处理之后的 URL,但是可以通过浏览器开发者工具的“网络(Internet)”工具查看请求信息:
图片.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题