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

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

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

閱讀全文

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

熱點內容
電子絕緣產品是什麼 瀏覽:154
軒逸產品怎麼樣 瀏覽:744
代理區域快遞怎麼樣 瀏覽:823
股票交易所是怎麼回事 瀏覽:648
巴中二手車交易市場哪裡最好 瀏覽:801
買賣房屋交易合同是什麼 瀏覽:840
如何修改貼吧本吧信息 瀏覽:75
數據機房屬於什麼專業 瀏覽:43
商務信息狀態有哪些 瀏覽:834
淶水麻核桃哪個市場好 瀏覽:6
收到信息怎麼回復好聽一點 瀏覽:759
電腦怎麼改交易密碼 瀏覽:881
西劉屯菜市場在哪裡 瀏覽:475
plc中程序步什麼意思 瀏覽:788
什麼是最小的信息單數單位 瀏覽:529
小米換蘋果xs數據怎麼遷移 瀏覽:251
咸魚買電子產品要問什麼 瀏覽:589
付款碼怎麼做小程序 瀏覽:20
設備技術崗位怎麼分級 瀏覽:573
什麼是冷燙金技術 瀏覽:26