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对象。