加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – JSONP注入脚本没有调用回调

发布时间:2020-12-17 10:23:48 所属栏目:安全 来源:网络整理
导读:我正在尝试从Rest Api获取数据: 我试过以下: var headers: Headers= new Headers({ 'dataType': 'jsonp'}); let options = new RequestOptions({ headers: headers }); return this.http.get('http://aaaddds.de/redmine/issues.json?limit=1200callback=J
我正在尝试从Rest Api获取数据:

我试过以下:

var headers: Headers= new Headers({  'dataType': 'jsonp'});
    let options = new RequestOptions({ headers: headers });

    return this.http.get('http://aaaddds.de/redmine/issues.json?limit=1200&callback=JSONP_CALLBACK',options)
      .map(this.extractData);

它不起作用,因为:

06001

所以当我尝试JSONP时

let params = new URLSearchParams();
params.set('callback','JSONP_CALLBACK');
params.set('project_id','7');
params.set('key','42d3db30ab061a9f630df1f476c4d127f98d5ad2');
params.set('limit','1200');


return this.jsonp.get('http://aaaddds.de/redmine/issues.json',{ search: params })
  .map(this.extractData);

它说 :

Uncaught ReferenceError: __ng_jsonp____req0finished is not defined
JSONP injected script did not invoke callback

当我做一个Jquery ajax得到它的工作原理:

$.ajax({

      url: url,type: 'GET',dataType: 'jsonp',success: function (datsa: any) {
        console.log(datsa);
      },error: function (e : any) { alert(e.toString) },});
我认为您为回调提供的参数不是回调.实际上,这个名称取决于目标服务,可以是回调,c或其他…

要诊断问题,您应该查看浏览器中devtools的“网络”选项卡,以查看响应的内容.它应该是这样的:

__ng_jsonp__.__req0.finished({ ... })

__ng_jsonp __.__ req0是Angular2内部处理的回调的名称.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读