javascript - 跨域,我的jsonp方式對不,為什么一直報錯啊
問題描述
這個ajax請求收的路徑,對不?
我的跨域方式寫的對不,為什么一直控制臺一直報錯
問題解答
回答1:Uncaught SyntaxError: Unexpected token : 類似這種錯誤就是返回的json數(shù)據(jù)沒用“(”和“)”小括號包起來或者前面沒加callback值而引起的。
回答2:服務(wù)端程序有問題,js執(zhí)行出錯
回答3:設(shè)置jsonp參數(shù),同時后臺返回的數(shù)據(jù)需要包裹在你傳的jsonp變量里面前端:
$.ajax({ url: ’xx’, dataType: ’jsonp’, jsonp: ’callback’, ....});
后臺callback(返回的數(shù)據(jù))
回答4:url添加一個回調(diào)參數(shù):jsoncallback=?,問號程序會自動生成相應(yīng)的參數(shù)
后端程序接受這個參數(shù),并將返回的數(shù)據(jù)包裹在這個回調(diào)函數(shù)中
eg:PHP后端寫法$jsoncallback = $_GET[’jsoncallback’];$result = json_encode($data);echo $jsoncallback.'('.$result.')';//后端要以這種格式返回數(shù)據(jù)才能實現(xiàn)跨域exit;
你的返回值沒有包裹在或回調(diào)函數(shù)中
回答5:jsonp不應(yīng)該是js里面的src引入,然后在js里面調(diào)用callback()么
回答6:JQ中jsonp的話,要在查詢字符串中加一個callback=?字段
相關(guān)文章:
