现在很多人常说前后端分离,前后端分离。菜鸟一只,有如下疑惑求解!
早期前端开发都是前端人员给后端人员静态页面,由他们完成请求部分(相信这依然是很多公司采用的方式),那么在碰到一些请求例如ajax,需要怎么办?(请看如下代码)
$.ajax({
url: "test.json",
success:function(){
alert('请求成功');
}
})
/*
*例如上面的代码,就是一个很简单的请求
*通常来说后端的人员他们的电脑里面都一个本地服务的环境,
*他们或许会在url参数里面写/a/b/x/aaa.json或者其他url(但是通常他们会很少会碰到跨域的问题)
*/
如果采用了前后端分离的策略,他们可能会给一个www.abcd.XXXXX/ssss/等类似的url参数,而前端此时如果这样写参数就会碰到跨域的问题,又不得不去解决跨域的问题,但是等到实际项目上线的时候这样的东西很可能却不会产生跨域的问题,此时我们前端处理跨域的部分代码又会显的多余,请问当大家碰到这样的问题的时候都是采用如何解决的?
example
例如:我们现在有一个需求叫做下拉加载更多的新闻列表,这是一个很常见的需求吧
//假设已经算了高度,下面的代码只是请求部分
$.ajax({ //后端人员的代码,在他们的环境下是不会跨域
url:server/a/b/c.json
success:function(){
解析数据,dosomething
}
})
$.ajax({ //前后端分离后前端的代码
url:www.abcd.com/server/a/b/c.json //此时前端就会产生跨域,而又不得不去解决跨域例如jsonp
success:function(){
解析数据,dosomething
}
})
因为现在这边仅仅是一个新闻列表,不是什么敏感的数据,那么如果这边跨域处理的是一些敏感数据的话安全性又该怎么办?如何可以保证安全
大家都来说说在前后端分离的时候,你们都是采用什么样的具体的方式吧,以及在处理跨域的时候都会用什么样的办法?关于我上面说的痛点,有没有什么好的解决办法,或者可以提供一点参考意见!
服务器配置CORS就可以跨域了,参考CORS MDN