導航:首頁 > 軟體知識 > 小程序如何跨域獲取動態數據

小程序如何跨域獲取動態數據

發布時間:2023-06-13 20:45:45

小程序怎麼解決跨域問題

你如果不在伺服器處理的話。就需要添加安全域名了。前提是這些域名是你名下可控的。

② jquery ajax 怎樣跨域獲取 json 數據

jsonp是英文json with padding的縮寫。它允許在伺服器端生成script tags至返回至客戶端,也就是動態生成javascript標簽,通過javascript callback的形式實現數據讀取。
html頁面端示例代碼:

復制代碼代碼如下:

//首先要引入jquery的js包
jQuery(document).ready(function(){
$.ajax({

type : "get", //jquey是不支持post方式跨域的
async:false,
url : "http://api.taobao.com/apitools/ajax_props.do", //跨域請求的URL
dataType : "jsonp",
//傳遞給請求處理程序,用以獲得jsonp回調函數名的參數名(默認為:callback)
jsonp: "jsoncallback",
//自定義的jsonp回調函數名稱,默認為jQuery自動生成的隨機函數名
jsonpCallback:"success_jsonpCallback",
//成功獲取跨域伺服器上的json數據後,會動態執行這個callback函數
success : function(json){
alert(json);
}
});
});

伺服器端示例代碼,以java為例:

伺服器端代碼,是重點,開始以為,只要客戶端通過jsonp就可以直接跨域訪問,其實不然,需要伺服器端的支持才行。

復制代碼代碼如下:

public void jsonpTest() throws IOException{

HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
//根據html指定的jsonp回調函數的參數名,獲取回調函數的名稱
//callbackName的值其實就是:success_jsonpCallback
String callbackName = (String)request.getAttribute("jsoncallback");
//簡單模擬一個json字元串,實際可使用google的gson進行轉換,次數通過字元串拼接
//{"name":"張三","age":28}
//\是對"號進行轉義
String jsonStr = "{\"name\":\"張三\",\"age\":28}";
//最終返回的數據為:success_jsonpCallback({"name":"張三","age":28})
String renderStr = callbackName+"("+jsonStr+")";
response.setContentType("text/plain;charset=UTF-8");
response.getWriter().write(renderStr);
}

閱讀全文

與小程序如何跨域獲取動態數據相關的資料

熱點內容
哪裡找spss數據 瀏覽:345
申請的代理怎麼注銷 瀏覽:681
哪些產品有祛斑的效果 瀏覽:445
美國農業市場怎麼樣 瀏覽:346
換機聯系方式怎麼數據遷移 瀏覽:578
怎麼注冊一個品牌產品 瀏覽:262
抗衰老潔面產品的共性有哪些 瀏覽:513
北訊怎麼交易不了啊 瀏覽:754
多道程序環境什麼意思 瀏覽:32
有哪些奇葩的自熱產品 瀏覽:536
有什麼凈水產品 瀏覽:474
做代理入股需要注意什麼 瀏覽:932
什麼樣的數據是爆款視頻 瀏覽:204
泰國宵夜市場有什麼 瀏覽:592
如何核實學生餐卡的信息 瀏覽:975
資料庫系統為什麼不屬於系統程序 瀏覽:865
白銀人才市場在什麼位置 瀏覽:500
東莞有哪些出口越南產品 瀏覽:289
如何開發海產品和農產品 瀏覽:429
c盤哪些數據可以刪 瀏覽:617