84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
因为一直以来都是模拟数据,所以用的都是相对路径。所以有几点疑惑: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才行
会的,有跨域问题,
是用的框架吗, 什么框架。 我写个教程,用很复杂的框架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进行访问的时候会在你的相对路径前面带上你服务器的地址绝对路径当然你想访问哪里就访问哪里了 就看人家接不接受了
个人观点
注意,有的时候并没有跨域,还会出现同域跨源,资源来自不同服务器,也会报错。
绝对路径或相对路径, 在发起请求的时候都会处理为绝对路径的~
测试肯定是相对路径比较方便些.
不同服务器请求, 即为跨域用jsonp
本地环境访问线上接口肯定是存在跨域的问题
如果你的线上接口服务器返回了响应头
Access-Control-Allow-Origin: *
,那么就可以实现跨域调用如果没有设置这个头,需要你本地起一套同样的服务,比如你可以设置一个全局变量
AJAX的url可以写成
如果你本地没有对应的接口环境,可以使用
fiddler
或者charles
设置一个代理,把线上的接口返回内容保存为一个文件,然后将这个接口地址映射到你的接口内容文件,请求的url直接设置成线上地址即可都可以,但是需要注意的是
使用绝对地址,如果是外部域名就涉及到跨域,需要使用jsonp才行
会的,有跨域问题,
是用的框架吗, 什么框架。 我写个教程,用很复杂的框架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进行访问的时候会在你的相对路径前面带上你服务器的地址
绝对路径当然你想访问哪里就访问哪里了 就看人家接不接受了
个人观点
注意,有的时候并没有跨域,还会出现同域跨源,资源来自不同服务器,也会报错。