AJAX做为一种页面异步请求机制,在改善用户体验上有良好的作用,AJAX中数据传输方式有很多种方式:字符串对的形式,XML形式,JSON。
上面几种的传输方式各有优点,字符串对的形式能解决不少简单的应用需要,但是涉及到复杂的JS对应的时候,字符串对就比较难以承担这样的任务。XML是个很好的表示方式,但是在JS层面的对象转换和传输,XML毕竟要借助第三方提供的包,而JSON作为JS原生的一种特性使开发者不用花大量的时间在JS对象和给AJAX传输的字符串间转换。
下面我们来看看,JSON是如何应用在AJAX传输数据的:
一.页面的组装数据:
1.文本字符串对的形式
name='test'&address='hangzhou'
2.XML的形式
<name>
test
</name>
<address>
hangzhou
</address>
3.JSON
var person={"name":"test","address":"hangzhou"}
1,2要种方式在拼凑成可以供AJAX传输用的文本字符串的时候比较麻烦,特别是当要传输的还是复杂的对象的时候。而JSON的方式,要得到给AJAX传输的文本字符串只需要下面一行代码:
String newJSOString = person.toJSONString();
就这样一句简单的转换语句就完成了,你再也不用为处理这些而烦恼。这就是 JSON 与其他数据格式之间最大的差异。如果使用 JSON,只需调用一个简单的函数,就可以获得经过格式化的数据。
二.发送请求
因为GET受到传输字符串大小的限制,下面举例的是AJAX的POST形式:
var url = "test.jsp?timeStamp=" + new Date().getTime();
request.open("POST", url, true);
request.onreadystatechange = callback;
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.send(person.toJSONString());
这样就可以轻松利用 JSON 并将其数据请求到服务器
三。服务器端解析:
作为传输的协议,那么在程序的服务端就需要有配套的工具和包来解析对应的JSON字符串。
JSON在服务端的解析目前有很多支持包,在JAVA语言中, 可以使用的是 org.json 包,
代码如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
StringBuffer Str = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null)
Str.append(line);
} catch (Exception e) { //report an error }
try {
JSONObject jsonObject = new JSONObject(jb.toString());
} catch (ParseException e) {
// crash and burn
throw new IOException("Error parsing JSON request string");
}
}
通过上面这些方式就可以通过JSON很好得完成了从客户端发送数据到服务端的一个解决方案。
分享到:
相关推荐
掌握Ajax使用 JSON 进行数据传输 掌握Ajax使用 JSON 进行数据传输 掌握Ajax使用 JSON 进行数据传输
json.js and json.jar 博文链接:https://terran-li2008.iteye.com/blog/199088
介绍了AJax中传输数据的一种新形式:JSON
掌握 Ajax第 10 部分--使用 JSON 进行数据传输.pdf
本篇文章主要介绍了jQuery Ajax前后端使用JSON进行交互示例,实现前端通过jQuery Ajax传输json到后端,后端接收json,对json进行处理,后端返回一个json给前端,有兴趣的可以了解一下。
php-curl+ajax+json数据传输2.0版本,用curl解决ajax跨域请求被拒绝问题。不用在php后端设置跨域请求了。
本文主要介绍了ajax用json实现数据传输的方法,具有很好的参考价值。下面跟着小编一起来看下吧
自己写的一个demo,利用ajax回调php返回的json数据,并实现页面的局部刷新,方便大家学习使用,
Django和前端用ajax传输json等数据.docx
SpringMVC注解和Spring框架是页面使用js—jquery—ajax—使用JSON传输数据时必备的包
通过ajax传输json数据小案例
简单的Json_Ajax 1.实现从页面到后台的数据传输 2.实现从后台到页面的数据传输
Highcharts AJAX后台JAVA JSON 曲线报表完美可运行例子 不包含官方JS 自己下载
本项目使用ajax 利用json在struts2.0传输数据
JSON使用源码,对于AJAX与服务器数据交换,采用JSON作为数据传输格式是个不错的选择
解决从前台到后台数据传输的详细代码及注释
掌握 Ajax第 1 部分-Ajax 简介 掌握 Ajax第 2 部分-使用 JavaScript 和 Ajax 发出异步请求 掌握 Ajax第 3 部分-Ajax 中的高级...掌握 Ajax第 10 部分--使用 JSON 进行数据传输 掌握 Ajax第 11 部分--服务器端的 JSON