基于JSON的数据交换
前端
前端接收到来自后端的JSON格式的字符串以后,需要将字符串转换为JSON对象:
1 2 3 4 5 |
|
第二种方法中加括号的原因是:
加圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为JavaScript代码块的开始和结束标记,那么{}将会被认为是执行了一句空语句。
后端
后端需要将需要传给前端的数据拼接成JSON格式的字符串。一个一个拼接太麻烦,我们选择使用阿里巴巴的fastjson组件,它可以将java对象转换成json格式的字符串
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
基于XML的数据交换
前端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
|
这里要注意,我们接受XML数据的方式不再是调用XMLHttpRequest对象的responseText属性,而是调用responseXML属性。
然后再通过getElementsByTagName方法获得标签进行遍历拼接。
后端
如果服务器响应的是XML数据的话,那么Servlet中的
1 |
|
需要换成
1 |
|
至于XML数据字符串串的拼接这里不赘述了。
乱码问题
对于tomcat10来说,关于字符集,我们程序员不需要干涉,不会出现乱码。
对于tomcat9及以下版本来说呢?
响应中文的时候,会出现乱码,怎么解决?
1 |
|
发送ajax post请求的时候,发送给服务器的数据,服务器接收之后乱码,怎么解决?
1 |
|