默认
发表评论 12
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
以上问题跟代码无关。
你听说过经典的浏览器“跨域”问题吗?如果没有的话,你系统的学习一下,然后就知道怎么解决了。

如果还是不知道怎么做,继续在贴子里讨论。
评论 12
IP+端口都要一样才不会发生跨域问题。这一块你完全可以百度系统地学习一下,tomcat或nodejs可以在服务端配置解决的,另外,你了解一下JSONP这个技术,也是用来解决跨域问题的。

我看你的回答,看的出来你对这个问题的了解基本没有,系统地学习一下吧,搞web应用不懂这个不行。况且不是什么复杂的事情
我才注意到你帖子里的这个“https://rbchat_pro.52im.net:7083/rainbowchat_pro/rest_post”,你连我部署在线上的这个地址干什么呢,这个线上服务并不支持web的跨域调用,服务端是我的,你配置不了。

你用你自已的服务端配置一下tomcat就好了,跨域这方面的资料百度一下就一大把。如果还不知道,你具体配置的时候,蒙逼的话,跟我说,我直接截代码你看吧。。
跨域这么经典的问题,解决都这么费劲的话,不应该啊
引用:IM、你好 发表于 2019-02-19 12:24
“https://rbchat_pro.52im.net:7083/rainbowchat_pro/rest_post”这个是从iOS里面取得一个接口(这个理 ...

画个图,把你部署情况描述情况,你写的文章逻辑太混乱了,看不明白了

我看明白了,你的意思是,调用你java这边的接口,出现的跨域问题你现在没找到解决办法?
引用:IM、你好 发表于 2019-02-20 09:40
对的,
第一,不明白为什么客户端Ajax调用Java代码接口会出现跨域,maven项目里面的HTML调用都没跨域问 ...

第一:ajax的跨域问题是浏览器厂商给的限制,谁也改变不了,这一块其实不复杂,只是你了解的太少,学习欲望也比较低,所以比较纠结。
第二:我没用过nodejs实现http接口,但我的RainbowChat-Web产品中,用tomcat实现http接口解决跨域问题时,参考这个帖子就能解决:https://www.cnblogs.com/zhaoyanhaoBlog/p/9370830.html

其实,总结一下就是,用JSONP技术,在Ajax调用时可以彻底解决跨域问题,而且不需要服务端、或者请求头做单独设置,因为JSONP技术原理就是请求js文件,这个没有任何的限制。
之所以要设置服务端或者请求头里设置,是因为要解决文件上传这个跨域问题,因为文件上传的跨域问题没有办法用JSONP了(关于文件上传免刷新和跨域问题,话题就比较大了,你有兴趣可以系统地了解学习)。

所以总之,最佳实践就是用JSONP,文件上传的跨域就去扩服务端跨域配置。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部