91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-08-28 03:56:02 來源:腳本之家 閱讀:145 作者:徐劉根 欄目:web開發

問題所在:

當我們想讓應用層和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="<h2>Hello, <b><i>"+obj.name+"</i></b></h2>";
 var likesHTML='<h6>'+obj.initial+' likes...</h6><hr/>';
 for (var i=0;i<obj.likes.length;i++){
  likesHTML+=obj.likes[i]+"<br/>";
 }
 $('likesList').innerHTML=likesHTML;
 var recipeHTML='<h6>'+obj.initial+'\'s favourite recipe</h6>';
 for (key in obj.ingredients){
  recipeHTML+=key+" : "+obj.ingredients[key]+"<br/>";
 }
 $('ingrList').innerHTML=recipeHTML;
}
</script>
</head>
<body>
<div id='likesList' class='sidebar'>
<h6>Likes</h6><hr/>
</div>
<div id='ingrList' class='sidebar'>
<h6>Ingredients</h6><hr/>
</div>
<div>
<div id='helloTitle'>
<h2>Hello, stranger</h2>
</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 body
String 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

效果如下:

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

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤山市| 基隆市| 阿瓦提县| 科技| 剑阁县| 韶关市| 嘉定区| 岑溪市| 独山县| 龙里县| 类乌齐县| 宣化县| 二连浩特市| 道孚县| 南投市| 左权县| 盐山县| 大足县| 松桃| 金堂县| 平顶山市| 兖州市| 新建县| 竹溪县| 西贡区| 德州市| 松原市| 沙坪坝区| 通州市| 延边| 桂平市| 天镇县| 福安市| 石屏县| 彰化市| 长治市| 敦化市| 滁州市| 长泰县| 绥滨县| 积石山|