国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > AJAX > 正文

Ajax跨域查詢完美解決通過(guò)$.getJSON()實(shí)現(xiàn)

2024-09-01 08:32:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
瀏覽器安全上做了限制,禁止ajax跨域獲得數(shù)據(jù),可以通過(guò)jquery提供的$.getJSON()可以跨域獲得JSON格式的數(shù)據(jù),具體的實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助

原因:瀏覽器安全上做了限制,禁止ajax跨域獲得數(shù)據(jù)。
解決方法:通過(guò)jquery提供的$.getJSON()可以跨域獲得JSON格式的數(shù)據(jù)。優(yōu)點(diǎn):兼容性強(qiáng)。

Java后臺(tái)代碼:

復(fù)制代碼 代碼如下:


protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String callback =req.getParameter("callback");//jquery生成的自定義函數(shù)名
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
//返回json格式字符串,注意向前臺(tái)輸出的格式必須為 callback(json格式的字符串);
//callback是jquery生成的自定義函數(shù)名,返回這種格式,前臺(tái)jquery代碼會(huì)自動(dòng)替換
//回調(diào)函數(shù)為此callback函數(shù),從而達(dá)到跨域的效果,網(wǎng)上還有其他的跨域方案如:AJAJ
//原理應(yīng)該也是和此方法一樣。缺點(diǎn)是:返回?cái)?shù)據(jù)量不宜過(guò)大,安全性差,建議重要數(shù)據(jù)不
//要通過(guò)這種形式傳遞。
out.print(callback+"({name:'111',sex:'222'});");
out.flush();
out.close();
}


Js前臺(tái)調(diào)用代碼:

復(fù)制代碼 代碼如下:


$(function(){
//需要傳的參數(shù),可以不傳。
var data= {param1:"param1",param2:"param2"};
//注意url一定要以callback=?的形式拼接,callback參數(shù)名可以自定義,
//但后臺(tái)必須也要同步獲取的參數(shù)名
var url = 'http://192.168.1.216:8080/DSFA/getUser?callback=?';
$.getJSON(url,data,function(backdata){
//其實(shí)后臺(tái)返回的函數(shù)已經(jīng)替換為此函數(shù),所以backdata
//就是你從后臺(tái)傳過(guò)來(lái)的json對(duì)象。
alert(backdata);
});
})


如果有不明白的地方,請(qǐng)留言....
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 松阳县| 建瓯市| 巴林左旗| 台东市| 五原县| 陕西省| 桑日县| 象山县| 若尔盖县| 浙江省| 上虞市| 安徽省| 驻马店市| 华池县| 清远市| 芦山县| 张掖市| 九江县| 武宁县| 呼伦贝尔市| 仙桃市| 岳西县| 福海县| 兴文县| 文水县| 治多县| 彭泽县| 嵊州市| 松阳县| 建宁县| 西畴县| 台中市| 揭阳市| 仪征市| 灵璧县| 崇信县| 台中县| 黄大仙区| 曲靖市| 朝阳市| 德格县|