您的位置:首页 > 其它

$.ajax $.get $.post使用问题总结

2017-12-06 12:22 399 查看

一、$.ajax()

    1、$.ajax()参数详解参看:点击打开链接
    2、使用注意问题:

         
a、ajax方法的data参数格式问题,以json对象传输时,json的key需要加“”号(url可加.action可不加),不然后台解析不了,如以下格式:(data参数会被自动转换成字符串形式,所以此时json对象被转换成json字符串,这个就是key不能不加“”的原因?)

$.ajax({
url: "/cluster/apply/doHandle",
contentType: "application/json",
type: "POST",
data: {
"id": id,
"applyStatus":"1",
},

success: function (result) { }

         
如果定义了json对象,该对象key没有加双引号,可以使用JSON.stringify(vo)方法转换上述格式:

var vo = {
id: id,
applyStatus:"1",
}

$.ajax({
url: "/cluster/apply/doHandle",
contentType: "application/json",
type: "POST",
data: JSON.stringify(vo),,

success: function (result) { }

 b  如果后台使用springMVC做控制层框架,可以有两种方式接收ajax传递的参数,一种是以对象接收,用对象封装json中的字段,不过确保该pojo对象的属性名和json的key名字相同,json不得传pojo中没有的字段,允许json中不必要包含pojo中的全部属性,最后在control的参数类名前面用@RequestBody修饰;另一种可以直接在control的参数列表用和json
key相同名的参数进行接收。

二、$.get()和$.post()

1、$.get()和$.post()具体差异可参看上述链接;
2、使用注意问题:
a、两者在编写参数时注意和$.ajax()的区别,他们两个不可以像$.ajax()一样参数可以编写成key-value的形式,即:

$.post({
url: "/cluster/apply/doHandle",
contentType: "application/json",
data: {
"id": id,
"applyStatus":"1",
},

success: function (result) { }

}

这种写法是不正确的,只能写成:

$.post( "/cluster/apply/doHandle",{
"id": id,
"applyStatus":"1"},
function(result) {}
}

b、$.get()和$.post()的data参数的key,实验过加不加""都行;

三、补充

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: