jQuery中使用ajax向后台传递数据

之前实现隐藏,只是调用了hide()函数实现了局部刷新,效果虽然有了,但是该条数据,后台数据库并没有改变。

如果不能改变后台数据,刷新页面以后会恢复原状。所以,我们需要研究如何利用ajax向后台传递数据,改变后台数据。

这样才能达到不刷新页面,但改变数据的目的。


首先,我们来把逻辑理清。

页面上点击隐藏按钮,按钮的onclick事件,调用js中的function,function中使用ajax把该条数据的id传到Controller中,传过去以后就可以一层一层传到dao层以及数据库了,update一下就达到了改变状态的目的。

我们可以看出,最关键的地方在于如何在function中写ajax传递参数的代码。

经过研究学习,发现意外的简单,逻辑也很清晰。而且有两种实现方式。

第一种:

也是最终版采用的方式

function updateStatus2Show(id){
    $.post("/ngtradebackend/complaint_manage/updatestatus2show.html","id="+id); 
}

这里对jQuery中ajax的基本语法做说明:

$.post(URL,data,callback);

必需的 URL 参数规定您希望请求的 URL。

可选的 data 参数规定连同请求发送的数据。

可选的 callback 参数是请求成功后所执行的函数名。


我们的代码中,只有url和data做了说明。需要注意的是,直接传递id是传不过去的,需要写成"id="+id才能够传递。这是因为在Controller中接收参数时,有这么一句:

Long id=webStringUtil.getLong(request, "id");

是通过id这个字符串的值来接收id的。

加了这一句,就可以把id传到Controller中了,然后就可以传到后台了。

第二种:和第一种最后的效果没有什么区别,只是书写方式不同而已。

$.post("/ngtradebackend/complaint_manage/updatestatus2hide.html","id="+id);
    $.ajax({
	   type: "POST",
	   url: "/ngtradebackend/complaint_manage/updatestatus.html",
	   data: "id="+id,
	});

将参数传到Controller后,通过一层一层的方法,就可以将数据传递到后台,我们的目的就达到了。




你可能感兴趣的:(js,6,添加隐藏功能,ajax,jQuery)