在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML5  網(wǎng)絡(luò)安全/ angular4中jsonp跨域請(qǐng)求時(shí),后臺(tái)返回417報(bào)錯(cuò)的問(wèn)題

angular4中jsonp跨域請(qǐng)求時(shí),后臺(tái)返回417報(bào)錯(cuò)的問(wèn)題

http請(qǐng)求代碼如下

myJsonp(url, options = {}) {
        options['params']['callback'] = `__ng_jsonp__.__req${this.count}.finished`;
        console.log(options);
        this.count++;
        return this.jsonp.get(url, options)
            .catch(err => {
                return Observable.throw(err);
            });
    }

對(duì)于200的請(qǐng)求是可以正常處理的,返回的數(shù)據(jù)如下

__ng_jsonp__.__req0.finished({message: "success", code: 0, status_code: 200, data: {,…}});

但是如果417報(bào)錯(cuò)的情況下,jsonp捕捉不到報(bào)錯(cuò)信息,http請(qǐng)求的status也是200

圖片描述
這是catch中抓到的err,本應(yīng)該是417,但是status是200
下圖是network中直接打開接口拿到的數(shù)據(jù),可以看到接口確實(shí)是417了的
圖片描述

因?yàn)閖sonp用的不多,所以機(jī)制不是很了解

是jsonp不接受這種后臺(tái)的報(bào)錯(cuò)機(jī)制還是后臺(tái)的報(bào)錯(cuò)有特殊的格式,
希望大佬們可以幫忙解惑一下

回答
編輯回答
使勁操

jsonp不能識(shí)別417,422這種邏輯報(bào)錯(cuò),只要請(qǐng)求成功,不管后臺(tái)返回什么錯(cuò)誤,都是200,所以通過(guò)加status_code解決問(wèn)題

2017年7月20日 01:57