扫码关注官方订阅号
因为一直以来都是模拟数据,所以用的都是相对路径。所以有几点疑惑:1、使用绝对路径会不会出现跨域的问题呢?2、使用相对路径怎么访问真实站点的数据呢?
//顺便问一下前后端分离时,本地环境怎么搭建
学习是最好的投资!
绝对路径或相对路径, 在发起请求的时候都会处理为绝对路径的~
测试肯定是相对路径比较方便些.不同服务器请求, 即为跨域用jsonp
本地环境访问线上接口肯定是存在跨域的问题
如果你的线上接口服务器返回了响应头Access-Control-Allow-Origin: *,那么就可以实现跨域调用
Access-Control-Allow-Origin: *
如果没有设置这个头,需要你本地起一套同样的服务,比如你可以设置一个全局变量
// 上线时使用 const API_HOST = 'online host'; // 线下调试使用 const API_HOST = '';
AJAX的url可以写成
let url = `${API_HOST}/...`
如果你本地没有对应的接口环境,可以使用fiddler或者charles设置一个代理,把线上的接口返回内容保存为一个文件,然后将这个接口地址映射到你的接口内容文件,请求的url直接设置成线上地址即可
fiddler
charles
都可以,但是需要注意的是使用绝对地址,如果是外部域名就涉及到跨域,需要使用jsonp才行
只要不符合同源策略都属于跨域,跟你使用什么路径应该没有什么关系,前后端分离,没有必要分那么细
1.首先应该清楚什么是跨域 由于浏览器同源策略什么的 搜一下应该有很多专门说的 大概你的js文件所在的服务 器和请求的api不在一台服务器上 如果出现跨域可以通过jsonp 或者是 cors解决 jsonp缺点只能用get方式 cors服务器设置允许访问的域
2.相对路径 js进行访问的时候会在你的相对路径前面带上你服务器的地址绝对路径当然你想访问哪里就访问哪里了 就看人家接不接受了
个人观点
注意,有的时候并没有跨域,还会出现同域跨源,资源来自不同服务器,也会报错。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
绝对路径或相对路径, 在发起请求的时候都会处理为绝对路径的~
测试肯定是相对路径比较方便些.
不同服务器请求, 即为跨域用jsonp
本地环境访问线上接口肯定是存在跨域的问题
如果你的线上接口服务器返回了响应头
Access-Control-Allow-Origin: *,那么就可以实现跨域调用如果没有设置这个头,需要你本地起一套同样的服务,比如你可以设置一个全局变量
AJAX的url可以写成
如果你本地没有对应的接口环境,可以使用
fiddler或者charles设置一个代理,把线上的接口返回内容保存为一个文件,然后将这个接口地址映射到你的接口内容文件,请求的url直接设置成线上地址即可都可以,但是需要注意的是
使用绝对地址,如果是外部域名就涉及到跨域,需要使用jsonp才行
只要不符合同源策略都属于跨域,跟你使用什么路径应该没有什么关系,前后端分离,没有必要分那么细
1.首先应该清楚什么是跨域 由于浏览器同源策略什么的 搜一下应该有很多专门说的 大概你的js文件所在的服务 器和请求的api不在一台服务器上
如果出现跨域可以通过jsonp 或者是 cors解决 jsonp缺点只能用get方式 cors服务器设置允许访问的域
2.相对路径 js进行访问的时候会在你的相对路径前面带上你服务器的地址
绝对路径当然你想访问哪里就访问哪里了 就看人家接不接受了
个人观点
注意,有的时候并没有跨域,还会出现同域跨源,资源来自不同服务器,也会报错。