搜尋

首頁  >  問答  >  主體

javascript - 跨域,我的jsonp方式對不,為什麼一直報錯啊


這個ajax請求收的路徑,對不?

我的跨域方式寫的對不,為什麼一直控制台一直報錯誤

##
高洛峰高洛峰2718 天前727

全部回覆(6)我來回復

  • 迷茫

    迷茫2017-07-05 10:43:03

    Uncaught SyntaxError: Unexpected token : 類似這種錯誤就是回傳的json資料沒用「(」和「)」小括號包起來或是前面沒加callback值而引起的。

    回覆
    0
  • 黄舟

    黄舟2017-07-05 10:43:03

    服務端程式有問題,js執行出錯

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-07-05 10:43:03

    設定jsonp參數,同時後台回傳的資料需要包裹在你傳的jsonp變數裡面
    前端:

    $.ajax({
        url: 'xx',
        dataType: 'jsonp',
        jsonp: 'callback',
        ....
    });

    後台
    callback(回傳的資料)

    回覆
    0
  • 高洛峰

    高洛峰2017-07-05 10:43:03

    url新增一個回呼參數:jsoncallback=?,問號程式會自動產生對應的參數

    後端程式接受這個參數,並將傳回的資料包裹在這個回呼函數中

    eg:
    PHP后端写法
    
    $jsoncallback = $_GET['jsoncallback'];
    
    $result = json_encode($data);
    
    echo  $jsoncallback."(".$result.")";//后端要以这种格式返回数据才能实现跨域
    exit;

    你的回傳值沒有包在或回調函數中

    回覆
    0
  • PHP中文网

    PHP中文网2017-07-05 10:43:03

    jsonp不應該是js裡面的src引入,然後在js裡面呼叫callback()

    回覆
    0
  • 滿天的星座

    滿天的星座2017-07-05 10:43:03

    JQ中jsonp的話,要在查詢字串中加一個callback=?字段

    回覆
    0
  • 取消回覆