如何解决js跨域问题

JavaScript017

如何解决js跨域问题,第1张

js跨域解决方法:

使用jsonp方式跨域,支持GET,不支持POST

服务器端一个跨域头,使用CORS方式进行跨域

iframe通过参数或hash跨域

postMessage跨域

其他方式

在构建xmpp web客户端的时候, 如果网站和xmpp服务器的域名不一致,就需要用到跨域请求了。

可以使用 flXHR.js 这个库来实现跨域请求,因为使用了 strophe,所以需要加载以下两个js。之后会在 strophe 中会使用 flxhr 来发起请求。

使用 flxhr 请求, 需要服务器在根目录返回 domaincross.xml 文件, 具体格式点这 ---> 文档链接

ejabberd 的 mod_http_fileserver 组件是专门用来配置文件服务器的组件

在加入 mod_http_fileserver 后, web_admin(web admin管理)功能失效了, google 后发现为 ejabberd 的 bug.

想到的解决的办法,是另外一个端口启动 web_admin。

1.编辑 ejabberd 配置文件, 将 {5280, ejabberd_http, 开头的这段配置替换成

2.将 {mod_http_fileserver, 开头的一段替换为以下,

记得把路径替换成你的。

3.在 /Applications/ejabberd-14.05/www 路径下加入 domaincross.xml

前端跨域的解决方法非常的多,简单的给你介绍一下吧。

iframe解决跨域,这种方法也比较常见

JSONP解决跨域,简单,易上手

postMessage解决跨域,使用了比较新H5 API,所以存在一定的兼容问题;

服务器代由访问,方法对前端影响不大,但是后台相对会麻烦很多。

希望对您有帮助吧~~