因为一直以来都是模拟数据,所以用的都是相对路径。所以有几点疑惑:
1、使用绝对路径会不会出现跨域的问题呢?
2、使用相对路径怎么访问真实站点的数据呢?
//顺便问一下前后端分离时,本地环境怎么搭建
因为一直以来都是模拟数据,所以用的都是相对路径。所以有几点疑惑:
1、使用绝对路径会不会出现跨域的问题呢?
2、使用相对路径怎么访问真实站点的数据呢?
//顺便问一下前后端分离时,本地环境怎么搭建
本地环境访问线上接口肯定是存在跨域的问题
如果你的线上接口服务器返回了响应头Access-Control-Allow-Origin: *
,那么就可以实现跨域调用
如果没有设置这个头,需要你本地起一套同样的服务,比如你可以设置一个全局变量
// 上线时使用
const API_HOST = 'online host';
// 线下调试使用
const API_HOST = '';
AJAX的url可以写成
let url = `${API_HOST}/...`
如果你本地没有对应的接口环境,可以使用fiddler
或者charles
设置一个代理,把线上的接口返回内容保存为一个文件,然后将这个接口地址映射到你的接口内容文件,请求的url直接设置成线上地址即可
会的,有跨域问题,
是用的框架吗, 什么框架。 我写个教程,用很复杂的框架laravel + angularjs写前后端分离。 https://segmentfault.com/a/11...
顺便推广我的个人站点 http://www.zhendishe.top 哈哈
使用绝对路径是指带 / 还是带 http(https)协议 + 域名?前者不会带来跨域问题,后者可能会带来跨域问题,但还是要看是不是在不同一个域下。
前端开发时,如果要模拟访问真实环境的数据,可以考虑使用 proxy,node express 或者 webpack-dev-server 里应该都有相应的中间件或插件吧
1.首先应该清楚什么是跨域 由于浏览器同源策略什么的 搜一下应该有很多专门说的 大概你的js文件所在的服务 器和请求的api不在一台服务器上
如果出现跨域可以通过jsonp 或者是 cors解决 jsonp缺点只能用get方式 cors服务器设置允许访问的域
2.相对路径 js进行访问的时候会在你的相对路径前面带上你服务器的地址
绝对路径当然你想访问哪里就访问哪里了 就看人家接不接受了
个人观点
8 回答4.5k 阅读✓ 已解决
6 回答3k 阅读✓ 已解决
5 回答2.6k 阅读✓ 已解决
5 回答6.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答2.4k 阅读
4 回答2.7k 阅读✓ 已解决
绝对路径或相对路径, 在发起请求的时候都会处理为绝对路径的~
测试肯定是相对路径比较方便些.
不同服务器请求, 即为跨域用jsonp