angular2 jsonp跨域请求的问题

查看:265
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆