ajax局部刷新
jsp页面利用jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)参数 描述url 必需。规定把请求发送到哪个 URL。data 可选。映射或字符串值。规定连同请求发送到服务器的数据。success(data, textStatus, jqXHR) 可选。请求成功时执行的回调函数。dataType 可选。规定预期的服务器响应的数据类型。 默认执行智能判断(xml、json、script 或 html)。
该函数是简写的 Ajax 函数,等价于:
$.ajax({type: 'POST',url: url,data: data,success: success,dataType: dataType});
jsp:function sendReply() {var url = document.forms.action + "?m=insertRep";var userId = jQuery('#userId').val();var msgId = jQuery('#msgId').val();var info = jQuery('#info').val();if (isEmpty(info)) {parent.window.jAlert("回复内容不能为空!");/****如果这个页面是内嵌框架,那么需要加上parent需找到父窗口,在父窗口中弹出框框。********/} else {var params = {userId : userId,msgId : msgId,info : info};jQuery.post(url, params, sendReplyCallback, 'json');}}function sendReplyCallback(data, status) {if (status == "success") { if (data == "0") {parent.window.jAlert("操作成功!", "操作", function(flag) {if (flag) {parent.window.location.href = "userIndex.html";//定向,刷新页面}});} else {parent.window.location.href = "userIndex.html";} } else if (status == "error") {parent.window.jAlert("操作异常!");} else {parent.window.jAlert(status);}}
后台Action处理:
String msgId = iframeUserDynamicReplyForm.getMsgId();String info = iframeUserDynamicReplyForm.getInfo();msgId = msgId == null ? "" : msgId.trim();info = info == null ? "" : info.trim(); int co = UserMessageService.sendReply(sqlSession,loginUserId, new BigDecimal(msgId), info); Gson gson = new Gson();//需要导入gson-2.0.jar包response.setContentType("text/json; charset=utf-8");response.setHeader("Cache-Control", "no-cache");response.getWriter().write(gson.toJson(co));return null;
补充一下,如果获取的json数据是对象,那么就用下面的格式,如data为User对象
$.post("test.php", { "func": "getNameAndTime" }, function(data){ alert(data.name); // John console.log(data.time); //2pm }, "json");
如果获取的json数据是集合对象,那么就用下面的格式,如data为List<User>对象
JSONObject data = new JSONObject();data.put("resultList", users);response.getWriter().write(data.toString());return null;
$.post("test.php", { "func": "getNameAndTime" }, function(data){ alert(data.resultList.name); // John console.log(data.resultList.time); //2pm $.each(data,function(i){ alert(data.resultList.name); }); }, "json");
页:
[1]