话题 首页 > javascript教程 > javascript教程话题列表 > 详情

求JS跨域请求的解决方案?

精华
厦门小懒懒 2016-10-20 10:43:57 浏览(1917) 回复(2) 赞(0)

如题,求分享JS跨域请求的解决方案

javascript

回答(2)

小赤佬 2016-10-20

方案有很多,推荐两个:

一、JSONP 服务器返回 callback({"id": "3", "name": "leisure"}); 复制代码 代码如下:


function callback(data) {
alert(data);
}

二、window.name

1、 服务器返回 复制代码代码如下:

window.name='{"id":"3", "name":"leisure"}';

2、定义一个iframe,添加onload事件


var load = false;

function iLoad() {

if(load == false) {

// 同域处理,请求后会再次重新加载iframe

document.getElementById('iframe1').contentWindow.location = '/';

load = true;

} else {

// 获取window.name的内容,注意必须进行同域处理后方可访问!

var data = document.getElementById('iframe1').contentWindow.name;

alert(data); // {"id":"3", "name":"leisure"}

load = false;

}

}

3、定义一个form,设置form的target为iframe的id,然后提交form 复制代码代码如下:


<button type="submit" value="submit" />
要回复,请先登录 或者注册
二维码
建议反馈
二维码