鍍金池/ 問(wèn)答/HTML/ script跨域報(bào)錯(cuò)問(wèn)題

script跨域報(bào)錯(cuò)問(wèn)題

使用jsonp跨域創(chuàng)建script跨域,對(duì)方服務(wù)器已經(jīng)收到請(qǐng)求并返回一個(gè)json串,但是為啥console一個(gè)報(bào)錯(cuò)呢??下面的請(qǐng)求代碼與報(bào)錯(cuò)

clipboard.png

clipboard.png
服務(wù)器收到請(qǐng)求顯示響應(yīng)成功了

clipboard.png

因?yàn)榇a改過(guò)了看不到之前成功的圖。。。。之前上圖msg,參數(shù)是請(qǐng)求成功,為啥請(qǐng)求成功了還會(huì)有報(bào)錯(cuò)???

下面是之前的代碼找回來(lái)了,有點(diǎn)亂,抱歉
附上請(qǐng)求成功貼圖
clipboard.png
提示語(yǔ)法錯(cuò)誤。。

clipboard.png

回答
編輯回答
下墜

你這個(gè)是一個(gè)服務(wù)端傳回來(lái)的數(shù)據(jù),但是沒(méi)有用一個(gè)現(xiàn)有的客戶(hù)端js函數(shù)或其他代碼來(lái)執(zhí)行它,同時(shí)也沒(méi)有一個(gè)引號(hào)引起來(lái),導(dǎo)致js編譯器報(bào)錯(cuò)。 探讀

2018年6月7日 01:52
編輯回答
扯機(jī)薄

直接返回json 是不能jsonp的。 jsonp 是要接口返回的數(shù)據(jù)是callback("{code:1,msg:'mobile參數(shù)錯(cuò)誤'}")。
如果你直接返回json 就相當(dāng)于你在<script></script>標(biāo)簽里面 直接放入json , 肯定不會(huì)報(bào)錯(cuò)。 全部手打, 望采納

2017年3月26日 10:40
編輯回答
凝雅

這個(gè)報(bào)錯(cuò)是很一般的報(bào)錯(cuò),跟跨域沒(méi)關(guān)系,跨域的報(bào)錯(cuò)是有跨域的提示的,CROSS-ORIGIN 之類(lèi)的,,這個(gè)是語(yǔ)法提示報(bào)錯(cuò),可能是你請(qǐng)求的數(shù)據(jù)格式有問(wèn)題,對(duì),應(yīng)該是這個(gè),你用jsonp 返回的數(shù)據(jù),應(yīng)該是可以執(zhí)行的 js 代碼,格式類(lèi)似于:

callback(data);

然后你本地要有 callback 函數(shù);
如果你直接返回 data 是會(huì)報(bào)錯(cuò)的,因?yàn)?data 沒(méi)有辦法在 script 里執(zhí)行;你給的代碼猜測(cè)你返回的數(shù)據(jù)應(yīng)該要是類(lèi)似這樣的:


    cb({x:1,y:2});//因?yàn)槟愕?callback 指定的是 cb ,看你的截圖;里面的json就隨便了
2017年12月8日 06:10