求问前端大佬们都是怎么解决跨域的?

前端新人,没什么工作经验,昨天面试的时候被问跨域技术,回答了jsonp,图像ping,跨域资源共享策略这三种,只得到了一句轻蔑的“就这?”,是我说的太少了,还是我的方法太low了?求问大佬!!!谢谢!!!

阅读 4.2k
9 个回答

技术人员面试的大忌:

明明是论述题,被答成了填空题。

小学时候写作文,题目是“宠物”两个字,你回答:宠物包括猫和狗,还有鱼。老师轻蔑的一句:就这?卒。

女朋友问你,这衣服好不好看?你回答:好看。女朋友轻蔑的一句:就这?卒。

面试官请你讲讲跨域技术,有两方面用意,一方面是看你是不是真的有过这方面经验,一般前端写自己工作经验的时候不可能说自己没经验,一般都会说自己有两年或者三年的工作经验,那好了,既然你有两年工作经验,你不可能没有接触过跨域,既然接触过,那就谈谈你对于跨域的了解和经历;另一方面,是看你对跨域的技术剖析,这部分属于是选答题,答对了有奖励分,没答上来问题也不大。

所以,当面试官请你谈跨域的时候,他实际是隐含了好几个问题的:什么是跨域?为什么会有跨域问题的存在?为什么要解决跨域问题?解决跨域问题有什么方法?每种方法的优缺点是什么?你遇到跨域问题时是如何解决的?为什么要这么做?是否还有需要完善的地方?

这么多问题,你回答了个:jsonp, cors。可不就换来一个回答:就这?

很多东西背答案是没有意义的,做过就是做过,没做过就是没做过,了解jsonp有意义吗?你在项目中用过jsonp吗?如果用过,你可以讲在什么项目中用过,为什么要用,有什么问题。没有用过,直接就说只是听说过,但是没有用过就行了,最好能再讲一讲为什么没有用,用cors方案比jsonp有什么好处等等,这才是专业的回答,而不是背诵。或者哪怕你就回答在我们公司跨域问题都是由后端解决的,前端不用操心这个,所以我不太了解,都比背答案要强,因为只有培训学校出来的才背答案,而真正有实战经验的前端工程师可能确实根本也不在意这个,这也是部分公司的实际情况。


不只是谈跨域,谈其它也是一个道理。总之,技术人员一定要切记,一个问题不能只从表面去谈,而要主动深挖细讲,直到面试官主动打断你为止,大家都是搞技术的,两句话就看出你技术水平的深浅,想靠背答案糊弄面试官是不可能的,唯有诚恳,知之为知之,不知为不知,全面透彻地谈清楚你对问题的看法,才能体现你是一个有特色的技术人员,才有可能被录用。

已我们公司现在的方式为例,一般涉及跨域问题,都不在前端进行处理,而是让后端进行代理转发将结果返回给前端。

直接怼回去:跨域问题交给后端

前几天也在看跨域的问题,希望这个点我能有些帮助

兄嘚,不冤枉啊,就以你提这个问题来说吧,百度一下能出来n页,写得全面详细的不少,根本到不了专门再问一次的地步。
跨域嘛,奇技淫巧虽多,真正常用的也就cors,或者后端web server proxy。

回答为什么会跨端以及解决有哪些方式。

跨域方式
1、 通过jsonp跨域
2、 document.domain + iframe跨域
3、 location.hash + iframe
4、 window.name + iframe跨域
5、 postMessage跨域
6、 跨域资源共享(CORS)
7、 nginx代理跨域
8、 nodejs中间件代理跨域
9、 WebSocket协议跨域

https://segmentfault.com/a/11...

答案当然是不跨域,限制的东西为什么要去破坏它呢,狗头。

推荐问题
宣传栏