javascript 跨域呼叫api - stu80143/gitNote GitHub Wiki

跨域呼叫api

javascript 無法直接跨域呼叫json,因此產生了一個新的呼叫方式jsonp

使用方法

$.ajax({
    type: "get",        //只能是get形式
    async: false,       //設定是異步還是非異步
    url: "http://something/canpassjsonp/?callback=flightHandler",
    dataType: "jsonp",  //這個固定為jsonp
    jsonp: "callback",  //傳遞給請求處理程序或頁面的,用以獲得jsonp回調函數名的參數名(一般默認為:callback)
    jsonpCallback:"flightHandler",//自訂義的jsonp回調函數名稱,默認為jQuery自動生成的隨機函數名,也可以寫?,jQuery會自動處理數據
    success: function(res){
        alert(res);
    },
    error: function(){
        alert('get data fail');
    }
});
  • tyep 只能是 get
    
  • async 可以為 ture 或 false
    
  • url 要取的資料的api
    
  • dataType 綁定 jsonp
    
  • jsonp 通常都是寫callback,也可能為_callback,看api設計
    
  • jsonpCallback 可寫可不寫,jQuery會自動配給
    如果為自動配會類似jQuery68716216876176