1、两种形式的区别
jquary中的
.
p
o
s
t
(
)
方
法
是
对
.post()方法是对
.post()方法是对.ajax()方法的一种封装 , 可以对使用$.ajax()发送post请求的过程做出一定的简化 , 但在使用SpringMVC的Controller中的方法接收封装前端传递的请求参数时 , 发现两者传递请求参数的方式并不一致.
ajax:
$.ajax({
type:“POST”,
url: “/InviteBid/ReceiveInfo”,
contentType: “application/json”, //如果提交的是json数据类型,则必须有此参数,表示提交的数据类型
//dataType: “json”, //表示返回值类型,不必须
data: JSON.stringify({ “InviteBidInfo”:
[{ ‘BidProId’: BidProId, ‘BidProType’: BidProType, ‘BidProName’: BidProName, ‘ItemType’: ItemType }]
}),
success: function (jsonResult) {
//在原来的页面跳转到下载word模板的页面
window.location.href = “/InviteBid/ExportTemplateFile”;
},
error: function (data){
alert(“下载模板失败!”);
}
});
});
数据格式:
post:
$.post("/InviteBid/GetInviteBidId", function (data, status) {
$("#NewFile").hide();
$(’#BidInfo’).show();
$(’#InviteBidId’).val(data); //将请求得到的数据赋值给招标项目编号文本框
$("#btnArea").show();
//更改标题
$("#MainContent").panel({
title:“填写项目信息”
});
});
数据格式:
2.解析方式
接收
.
p
o
s
t
(
)
请
求
的
方
法
直
接
使
用
A
c
c
o
u
n
t
类
型
封
装
了
参
数
接
收
.post()请求的方法直接使用 Account 类型封装了参数 接收
.post()请求的方法直接使用Account类型封装了参数接收.ajax()请求的方法额外使用了 @RequestBody注解 , 从请求体中获取json数据 , 才将参数封装为 Account 类型
3、总结
jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, . p o s t 等 。 .post 等。 .post等。.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。最简单的情况下,$.ajax()可以不带任何参数直接使用。
这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。