jQuery代码:
var obj = { 'name':name, 'desc':desc, 'scheduleStartTime':scheduleStartTime, 'scheduleEndTime':scheduleEndTime }; $.ajax({ url: "../task/insert", type: "post", contentType:"application/json;charset=UTF-8", data: JSON.stringify(obj), success: function (result) { alert(result); } });
后端代码:
@RequestMapping(value = "insert",method = RequestMethod.POST,consumes = "application/json") @ResponseBody public String insert(@RequestBody Task task){ System.out.println("task = " + task); return null; }
这只是简单⽤法,其主要是调⽤jQuery中的ajax⽅法,这⾥写的东西都是给ajax⽅法传递的参数
- type:是请求类型,例如 get,post
- contentType:声明ajax通讯中,使⽤的数据类型
- url:请求地址,可以是相对的或绝对地址
- data:数据,通常使⽤的都是json,这不是必须的
- success:给ajax传递⼀个函数⽤于执⾏返回状态200(即成功)的情况下执⾏的函数
- 这个函数可以接受三个返回值,参数名可以⾃定义,参数均可省略
第⼀个返回值就是url请求返回的数据
第⼆个返回值好像是成功状态"200",好像没⽤ - 第三个不懂
- 这个函数可以接受三个返回值,参数名可以⾃定义,参数均可省略
- erro:返回⼀个错误信息,主要后端需要返回错误代码,或连接失败
err.status:是错误代码
err.responseText是错误⽂本
更多的可以查各种⽂档,⼀般⽤这些就够了,类似success还有beforeSend和complete,分别是请求前和请求后必定会执⾏的代码。
说⼀下JSON.stringify(varname),这个⽅法可以把js对象转化为标准json字符串,基本和平铺的js对象长的⼀样...
下⾯给出⽰例程序:
$(function(){ varlist = {"hello":"world","first","second"}; $.ajax({ //请求⽅式 type:"POST", //请求的媒体类型,并不⼀定是json contentType:"application/json;charset=UTF-8", //请求地址 url:"请求地址", //向请求地址发送的数据 data:JSON.stringify(list), //请求成功,result为返回的数据 success:function(result){ console.log(result); }, //请求失败,err为返回的错误信息 error:function(err){ console.log(err.status); console.log(err.responseText); } }); });
补充:JSON.parse(jsonstring); 可以将json字符串转为js对象。