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

首頁 > 編程 > JavaScript > 正文

使用post方法實現json往返傳輸數據的方法

2019-11-19 11:54:58
字體:
來源:轉載
供稿:網友

問題所在:

當我們想讓應用層和http之間的所有接口都采用json,這樣,客戶端代碼就可以純碎用javascript的對象來編寫,服務器打啊也可以純粹的用Java的對象來編寫。

我們使用的是post請求的方法,有些不同于get的方法!

客戶端html代碼:

<html><head><title>Hello Ajax version 5a</title><style type='text/css'>* { font-family: Tahoma, Arial, sans-serif; }#helloTitle{ color: #48f; }.sidebar{ background-color: #adf; color: navy; border: solid blue 1px; width: 180px; height: 200px; padding: 2px; margin: 3px; float: left;}</style><script type='text/javascript' src='prototype.js'></script><script type='text/javascript' src='json.js'></script><script type='text/javascript'>window.onload=function(){ $('helloBtn').onclick=function(){  var name=$('helloTxt').value;  new Ajax.Request(   "hello5a.jsp",   {    postBody:JSON.stringify({name:name}),    onComplete:function(xhr){     var responseObj=JSON.parse(xhr.responseText);     update(responseObj);    }   }  ); }}function update(obj){ $('helloTitle').innerHTML="<h1>Hello, <b><i>"+obj.name+"</i></b></h1>"; var likesHTML='<h5>'+obj.initial+' likes...</h5><hr/>'; for (var i=0;i<obj.likes.length;i++){  likesHTML+=obj.likes[i]+"<br/>"; } $('likesList').innerHTML=likesHTML; var recipeHTML='<h5>'+obj.initial+'/'s favourite recipe</h5>'; for (key in obj.ingredients){  recipeHTML+=key+" : "+obj.ingredients[key]+"<br/>"; } $('ingrList').innerHTML=recipeHTML;}</script></head><body><div id='likesList' class='sidebar'><h5>Likes</h5><hr/></div><div id='ingrList' class='sidebar'><h5>Ingredients</h5><hr/></div><div><div id='helloTitle'><h1>Hello, stranger</h1></div><p>Please introduce yourself by entering your name in the box below</p><input type='text' size='24' id='helloTxt'></input> <button id='helloBtn'>Submit</button></div></body></html>

jsp代碼:

<jsp:directive.page contentType="application/javascript" import="java.util.*,net.sf.json.*"/><%//read the request bodyString json=request.getReader().readLine(); //讀取post請求主體JSONObject jsonObj=new JSONObject(json);//解析json字符串String name=(String)(jsonObj.get("name"));//讀取解析后的對象jsonObj.put("initial",name.substring(0,1).toUpperCase()); //添加新的值String[] likes=new String[]{ "JavaScript", "Skiing", "Apple Pie" };jsonObj.put("likes",likes);Map ingredients=new HashMap();ingredients.put("apples","3kg");ingredients.put("sugar","1kg");ingredients.put("pastry","2.4kg");ingredients.put("bestEaten","outdoors");jsonObj.put("ingredients",ingredients);%><%=jsonObj%>  <!--以json的形式輸出對象-->

另外我們還要用到包裝集:

prototype.jsjson.js

效果如下:

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高邮市| 重庆市| 江安县| 通榆县| 德令哈市| 浏阳市| 山阳县| 惠州市| 宁阳县| 宁晋县| 阿拉善左旗| 鄂尔多斯市| 商丘市| 五莲县| 巩义市| 新民市| 岳普湖县| 文安县| 平安县| 张家川| 茂名市| 闵行区| 那曲县| 鄂州市| 定日县| 襄城县| 日土县| 巴林左旗| 措美县| 九龙城区| 水城县| 新闻| 绥江县| 来宾市| 綦江县| 柘荣县| 巴塘县| 无极县| 吉安县| 宝鸡市| 台江县|