时间:2021-05-25
问题所在:
当我们想让应用层和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.js和json.js
效果如下:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文主要介绍如何使用Angularjs$http服务以POST方法向服务器传递json对象数据。具体如下:一、$httpPOST方法默认提交数据的类型为appl
本文实例讲述了Javascript使用post方法提交数据的方法。分享给大家供大家参考。具体如下:使用JS提交数据时,可以调用本方法实现post方式的提交。va
本文实例讲述了PHP基于CURL发送JSON格式字符串的方法。分享给大家供大家参考,具体如下:/**post发送JSON格式数据*@param$urlstrin
本文实例讲述了Python实现基于HTTP文件传输的方法。分享给大家供大家参考。具体实现方法如下:一、问题:因为需要最近看了一下通过POST请求传输文件的内容并
本文实例讲述了jQuery使用post方法提交数据的用法。分享给大家供大家参考。具体实现方法如下:$(document).ready(function(){$(