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

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

發布時間: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);
}

閱讀全文

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

熱點內容
醫夫子的產品怎麼樣 瀏覽:656
中國銀行扣款信息在哪裡設置 瀏覽:583
耐克回收什麼產品 瀏覽:816
貓吐蟲了買什麼產品 瀏覽:270
文案推廣產品怎麼寫 瀏覽:574
舒暢醫用冷敷凝膠怎麼代理 瀏覽:950
打工學什麼比較有點技術 瀏覽:363
蘋果為什麼重視中國市場 瀏覽:133
注射新冠疫苗多久能查詢到信息 瀏覽:330
魯證期貨交易如何查周單 瀏覽:197
如何建立產品網頁 瀏覽:795
紫色面膜代理需要多少錢 瀏覽:424
變頻器數據如何傳輸 瀏覽:570
唐山能學什麼技術 瀏覽:8
寧波菜市場搬遷到哪裡 瀏覽:784
產品顧問有什麼意思 瀏覽:929
我家的小程序可以用來看什麼 瀏覽:215
答應條件如何表達不是在做交易 瀏覽:940
什麼技術工資高簡單 瀏覽:723
泉州建材市場在哪裡 瀏覽:933