@RequestMapping("/Sku_Make_upTUUS")
public String Sku_Make_upTUUS(@RequestParam(defaultValue = "1") Integer pageNo, Model model, String username, String skuf, String chanpinxian, Date indat, Date indatend, String dianpu) {
Skumake(pageNo,model,username, skuf, chanpinxian, indat, indatend, dianpu);
return "/Sku_Make_upTUUS";
$.ajax({
url:"Sku_Make_upTUUS",//请求的url地址
dataType:"json",//返回的格式为json
async:true,//请求是否异步,默认true异步,这是ajax的特性
data:{"":"",},//参数值
type:"POST",//请求的方式
});
<div class="layui-inline layui-show-xs-block">
<input class="layui-input" autocomplete="off" placeholder="开始日" name="start" id="start">
</div>
<div class="layui-inline layui-show-xs-block">
<input class="layui-input" autocomplete="off" placeholder="截止日" name="end" id="end">
</div>
加上:
data
属性中的参数对象序列化为JSON字符串,并设置contentType
和dataType
属性。以下是一个范例:var start = $("#start").val(); // 获取开始时间的值
var end = $("#end").val(); // 获取结束时间的值
var data = {
start: start, // 开始时间
end: end // 结束时间
};
$.ajax({
url: "your_url", // 要提交到的URL
method: "POST", // HTTP请求方法
data: JSON.stringify(data), // 将参数对象序列化为JSON字符串
contentType: "application/json; charset=utf-8", // 告诉服务器发送的数据是JSON类型的
dataType: "json" // 告诉jquery服务器返回的数据是JSON类型的
}).done(function(response) {
// 成功的回调函数
}).fail(function(xhr, textStatus, errorThrown) {
// 失败的回调函数
});
上面的代码中,将data
属性中的参数对象序列化为JSON字符串,并设置contentType="application/json; charset=utf-8"
,告诉服务器发送的数据是JSON类型的。另外,设置dataType="json"
,告诉jquery服务器返回的数据是JSON类型的,这样jquery在接收到响应时可以将JSON字符串转换为JavaScript对象。
可能会有人不是很理解JS的单线程,明明ajax是一种异步请求,为什么js还是单线程的呢。其实实现多线程的是浏览器,在需要异步请求的时候由浏览器新开一个线程来执行其方法,在请求结束之后可以利用回调函数进行执行获得的参数处理等等。实现的方式是将请求放入一个JS的执行队列中依次执行(这也是JS的单线程体现),这是回调函数和普通函数公用的一个队列。
对于时间日期信息的传输可以使用JavaScript内置的Date对象来处理。在前端可以使用以下代码将时间日期转换为字符串,并作为ajax请求传递:
var date = new Date(); var dateString = date.toISOString(); //将当前时间日期转换为ISO 8601格式的字符串 $.ajax({ ... data: {time: dateString}, ... });
在后台可以使用框架提供的工具或手动解析ISO 8601格式的字符串来获取时间日期信息,例如Java中可以使用SimpleDateFormat类进行解析:
//接收前端传递的时间日期字符串 @RequestMapping("/getTime") public String getTime(@RequestParam("time") String timeString) throws ParseException { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); Date date = format.parse(timeString); //对时间日期进行进一步处理 ... }
如果前端需要获取后台传递的时间日期信息,可以将时间日期转换为ISO 8601格式的字符串,再返回给前端:
//将时间日期转换为ISO 8601格式的字符串 @RequestMapping("/sendTime") public String sendTime() { Date date = new Date(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); String timeString = format.format(date); return timeString; }