angular2或者4 jsonp 跨域报错 Uncaught SyntaxError: Unexpected token :。

testHttp(){
    const url = 'http://devadmin.smartyiliao.com.cn/patientmanage/wx/home/get'
    let params: URLSearchParams = new URLSearchParams();
    params.set('openId','oyCBlw8FrRZw9kA7TsYrUfQszu4k');
    params.set('callback', 'JSONP_CALLBACK');
    this.jsonp.get(url,{
        search:params
    })
    .map(res => {
        console.log(res)
        res.json()
    })
    .subscribe((response) => {
        console.log(response)
        this.httpRes = response
    }, (error) => {
        console.error(error);
    });
    //浏览器报错 Uncaught SyntaxError: Unexpected token : 但是我用jquery没问题
    
}

图片描述

$.ajax({
    type:"get",
    dataType: "jsonp",
    url:pathApi+'/patientmanage/wx/home/get',
    data: {
        openId: openId
    },
    success: function(res) {
        console.log(res)
    }
});

阅读 6.4k
1 个回答
    testHttp(){                                                                                           
        const url = 'http://devadmin.smartyiliao.com.cn/patientmanage/wx/home/get?callback=JSONP_CALLBACK'
        let params: URLSearchParams = new URLSearchParams();
        params.set('openId','oyCBlw8FrRZw9kA7TsYrUfQszu4k');
        params.set('format', 'json');
//        params.set('callback', 'JSONP_CALLBACK'); 这个设置没效果 我是手动拼到了 url里 ?callback=JSONP_CALLBACK   md居然成了 真的醉了 不知道为什么 但是能用

        this.jsonp.get(url,{
            search:params
        })
        .subscribe((response) => {
            let result = response.json()
            console.log(result)
            this.httpRes = result
        }, (error) => {
            console.error(error);
        });
    
//      toPromise 
//        this.jsonp.get(url,{
//            search:params
//        }).toPromise().then((response) => {
//      let result = response.json()
//      console.log(result)
//        })
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题