js跨域如何处理啊???怎么IE老是有问题
2个回答
展开全部
1、js向服务器发送请求,然后让服务器去另一个域上获取数据后返回。(用于你无法控制另一个域)
比如php中利用cUrl。
2、放置跨域文件.
3、用JSONP。
虽然不能跨域进行通信,但是可以引入跨域的js文件。
先定义一个函数
var returnData;
function getData(obj) {
returnData = JSON.parse(obj);
}
当我们要向www.baidu.com/s.php请求数据的时候,我们可以引入某个包含返回信息的js文件。
比如: <script type="text/javascript" src="www.baidu.com/s.php?id=12321" />
js的内容是getData({json:'格式'});返回时输出 格式是 text/javascript (比如php用header('Content-type:text/javascript');来输出)
那么文件加载好后解析js时就会执行这个函数,返回得到的数据就被赋值给了returnData变量
以这样的方式插入到页面中:
var script = document.createElement('script');
script.src='www.baidu.com/s.php?id=12321'; //传入参数id=12321
body.appendChild(script);
比如php中利用cUrl。
2、放置跨域文件.
3、用JSONP。
虽然不能跨域进行通信,但是可以引入跨域的js文件。
先定义一个函数
var returnData;
function getData(obj) {
returnData = JSON.parse(obj);
}
当我们要向www.baidu.com/s.php请求数据的时候,我们可以引入某个包含返回信息的js文件。
比如: <script type="text/javascript" src="www.baidu.com/s.php?id=12321" />
js的内容是getData({json:'格式'});返回时输出 格式是 text/javascript (比如php用header('Content-type:text/javascript');来输出)
那么文件加载好后解析js时就会执行这个函数,返回得到的数据就被赋值给了returnData变量
以这样的方式插入到页面中:
var script = document.createElement('script');
script.src='www.baidu.com/s.php?id=12321'; //传入参数id=12321
body.appendChild(script);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询