$.post() 方法通过 HTTP POST 请求向服务器提交数据。
语法:
$.post(URL,data,callback);
必需的 URL 参数规定您希望请求的 URL。
可选的 data 参数规定连同请求发送的数据。
可选的 callback 参数是请求成功后所执行的函数名。
下面的例子使用 $.post() 连同请求一起发送数据:
$("button").click(function(){
$.post("/try/ajax/demo_test_post.php",
{
name:"百度",
url:"http://www.baidu.com"
},
function(data,status){
alert("数据: \n" + data + "\n状态: " + status);
});
});
实例:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
<script type="text/javascript">
function linkDelete(linkId){
if(confirm("确认要删除这条友情链接吗?")){
$.post(
"link?action=delete",
{linkId:linkId},
function(result){
var result=eval('('+result+')');
if(result.success){
alert("删除成功!");
window.location.href="${pageContext.request.contextPath}/link?action=backList";
}else{
alert(result.errorMsg);
}
}
);
}
}
</script>
</head>
<body>
<div class="data_list backMain">
<div class="dataHeader navi">
${navCode}
</div>
<div class="data_content">
<table class="table table-hover table-bordered">
<tr>
<th>序号</th>
<th>链接名称</th>
<th>链接地址</th>
<th>联系人邮件</th>
<th>排列顺序</th>
<th>操作</th>
</tr>
<c:forEach var="linkBack" items="${linkBackList }" varStatus="status">
<tr>
<td>${status.index+1 }</td>
<td>${linkBack.linkName }</td>
<td>${linkBack.linkUrl }</td>
<td>${linkBack.linkEmail }</td>
<td>${linkBack.orderNum }</td>
<td><button class="btn btn-mini btn-info" type="button" "javascript:window.location='link?action=preSave&linkId=${linkBack.linkId}'">修改</button> <button class="btn btn-mini btn-danger" type="button" "linkDelete(${linkBack.linkId})">删除</button></td>
</tr>
</c:forEach>
</table>
</div>
</div>
</body>
</html>
上述实例请求servlet,经判断action的值后执行下述代码:
private void linkDelete(HttpServletRequest request, HttpServletResponse response) {
String linkId=request.getParameter("linkId");
Connection con=null;
try {
con=dbUtil.getCon();
JSONObject result=new JSONObject();
int delNums=linkDao.linkDelete(con, linkId);
if(delNums>0) {
result.put("success", true);
}else {
result.put("errorMsg", "删除失败");
}
ResponseUtil.write(result, response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
其中ResponseUtil为自己封装的工具类:
public class ResponseUtil {
public static void write(Object o,HttpServletResponse response)throws Exception{
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
out.println(o.toString());
out.flush();
out.close();
}
}