鍍金池/ 問答/HTML/ 在使用jQuery封裝的jsonp時(shí),jsonpCallback參數(shù)為什么會進(jìn)入

在使用jQuery封裝的jsonp時(shí),jsonpCallback參數(shù)為什么會進(jìn)入error

問題概述:

如題,在使用jQuery封裝的jsonp時(shí),jsonpCallback參數(shù)省略,明明有數(shù)據(jù)返回,為什么會進(jìn)入error;

提要:

剛開始學(xué)習(xí)jsonp的時(shí)候,了解到如下知識,jQuery對跨域請求進(jìn)行一個(gè)名為jsonp的封裝。使用jsonp有兩個(gè)參數(shù),如下

$.ajax({
url:'',
dataType: 'jsonp',
jsonpCallback: 'success',//在這里明確回調(diào)函數(shù)名稱,下面使用
...
})

按照官網(wǎng)上的資料 以及 我在網(wǎng)絡(luò)上查詢的資料。
可以知曉————
在沒有jsonpCallback設(shè)置的情況下,jquery 會 自動(dòng)生成回調(diào)函數(shù)名稱并在數(shù)據(jù)返回時(shí)封裝數(shù)據(jù)進(jìn)行調(diào)用
在沒有使用jsonpCallback設(shè)置的情況下,后臺就無需設(shè)置返回?cái)?shù)據(jù)格式

    eg.  
    //明確調(diào)用 jsonpCallback:success,后臺返回設(shè)置
    res.json('success('+JSON.stringify(obj)+')');
    //then
    //省略 jsonpCallback 后臺返回設(shè)置
    res.rend(JSON.stringify(obj));

問題來了:

我如果不用 jsonpCallbcak,返回值進(jìn)入不了success對應(yīng)的方法中
不省略jsonpCallback,后臺不設(shè)置也進(jìn)入不了success中

后續(xù)進(jìn)行錯(cuò)誤補(bǔ)充

回答
編輯回答
墻頭草

被網(wǎng)上的一篇文章誤導(dǎo)了

https://segmentfault.com/a/11...
https://www.cnblogs.com/chian...
這兩篇說的更加簡練徹底

jsonp 后臺必須設(shè)置相應(yīng)的返回參數(shù)
否則,就可以跨域取任何網(wǎng)站的

【jquery并沒有對jsonp返回?cái)?shù)據(jù)進(jìn)行打包處理!??!】

2017年11月23日 19:12