angular2 jsonp跨域请求的问题
本文介绍了angular2 jsonp跨域请求的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1、先上代码
constructor(public http:Http, public jsonp:Jsonp) {
this.jsonp.request('http://www.eastgrain.cn/data/list.html?callback=JSONP_CALLBACK')
.map(res => res.json())
.subscribe((response) => {
console.log(response);
}, (error) => {
console.error(error);
});
}
2、报错信息
3、求大神讲解,谢谢。
解决方案
你请求的地址,返回的数据不是jsonp
格式的。jsonp
本质上是靠script标签实现的,通过script
加载一段js代码,并在加载完成时执行,为了达到这个效果,jsonp
返回数据应该是一个函数调用,类似这样func({data1:1,data2:2});
。
这就需要服务器端程序配合,请求有callback参数时将该值拼接到json
上。
所以,如果网站是你的,你得改后台程序,别人的就考虑其他方法吧。
这篇关于angular2 jsonp跨域请求的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文