不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2013-04-19 11:52:16  修改时间:2024-04-28 23:01:08  分类:前端/Vue/Node.js  编辑

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⽅法传递的参数

  1. type:是请求类型,例如 get,post
  2. contentType:声明ajax通讯中,使⽤的数据类型
  3. url:请求地址,可以是相对的或绝对地址
  4. data:数据,通常使⽤的都是json,这不是必须的
  5. success:给ajax传递⼀个函数⽤于执⾏返回状态200(即成功)的情况下执⾏的函数
    • 这个函数可以接受三个返回值,参数名可以⾃定义,参数均可省略
      第⼀个返回值就是url请求返回的数据
      第⼆个返回值好像是成功状态"200",好像没⽤
    • 第三个不懂
  6. 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对象。