做了两年的遥感数据反演分析,如今又重拾网络开发,瞬间发现力不从心,有机会还是做回老本行吧。
今天大致以jquery ajax前端提交json数据到后台,后台接收前端j的son数据为主线,说明一下相关的注意事项。
前端使用 $.ajax向后台发送json数据,后台使用 request.getParameter(), request.getRead() 方法接收json数据。
$.ajax() 中有关键参数需要设置, 分别是:
method: 默认为 ‘GET’,还有 ‘POST’;
contentType: 默认为 ‘application/x-www-form-urlencoded; charset=UTF-8’ , 还有参数如 ‘multipart/form-data; charset=UTF-8’ 、‘application/json;charset=UTF-8’;
data: 发送到服务器的数据,数据类型有 String、JSON、Array;
dataType: 服务器端返回的数据类型设置。(注:是设置服务器端返回的数据类型,不是前端发送的数据类型,前端发送的数据类型可通过contentType参数设置。)
本文设置method: 'POST',
1、当contentType:‘application/x-www-form-urlencoded; charset=UTF-8’时,$.ajax()发送的数据为String类型,后台使用方法 request.getParameter() 和 request.getRead()可以接收到 String 类型;
2、当contentType:‘application/json;charset=UTF-8; charset=UTF-8’ 时,$.ajax() 发送的数据类型为JSON数据,后台使用方法 request.getParameter() 接收不到数据,而 request.getRead() 可以接收到json数据类型。
(注:$.ajax()方法中的参数 data 发送json数据到服务器之前,使用JSON.stringify()方法进行转换,变成json数据,这时,后台的 request.getRead()方法才可以接收到json数据)