开发环境:
前端运行vue,
127.0.0.1:3000
后端django:
127.0.0.1:8000
现在后端返回一个文件的 地址:/media/aaa.pdf
浏览器自动生成的 url: 127.0.0.1:3000/media/aaa.pdf
问题是127.0.0.1:3000/media/aaa.pdf 这个3000是前端的
需要 127.0.0.1:8000/media/aaa.pdf 才是正确,才能访问到这个文件
怎么解决这个问题?
开发环境:
前端运行vue,
127.0.0.1:3000
后端django:
127.0.0.1:8000
现在后端返回一个文件的 地址:/media/aaa.pdf
浏览器自动生成的 url: 127.0.0.1:3000/media/aaa.pdf
问题是127.0.0.1:3000/media/aaa.pdf 这个3000是前端的
需要 127.0.0.1:8000/media/aaa.pdf 才是正确,才能访问到这个文件
怎么解决这个问题?
访问的非完整url地址(可以省略协议http:或者https:部分,但是必须//【双斜杠】开头),会自动拼接上当前网址的域名部分,如果是相对地址,还会根据当前路径自动计算出相访问的网址路径,返回绝对地址(就是斜杠开头路径,直接加当前网址域名拼接成要访问的完整url地址)
所以3000端口的网址要访问8000端口的,需要自己前端拼接下,组成完整的url网址
/media/aaa.pdf
==>
//127.0.0.1:8000/media/aaa.pdf
或者
http://127.0.0.1:8000/media/aaa.pdf
https://127.0.0.1:8000/media/aaa.pdf
第一个URL网址缺少http或者https协议,浏览器会根据当前网址协议自动补充对应的协议,不过如果当前网址使用https协议,目标网址只支持http,那么必须要要使用第二种网址,添加上目标网址支持的协议,要不也会无法访问