大牛们来帮帮!ajax 交互成功后的 刷新问题,要给力阿
以下A.jsp
Java code
//省略DAO操作
<form id="fom1">
<input name="user" value=<%=respUser%> />
</form>
以下A.js
JScript code
function InnerRemarks() {
var user= $("#user").val();
$.ajax({
url : "/serv.do",
type : "post",
dataType : "html",
async : false,
data : "opAction=InnerRemarks&user="+user,
success : function(html) {
alert(html);
window.history.back(-2);
alert(window.location.href);//这里显示是:/serv.do
window.location。reload();//无法实现刷新A。jsp
},
error : function() {
alert("出错啦,请刷新重试!");
}
});
}
以下 /serv.do---》》
Java code
public class servextends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
String opAction = request.getParameter("opAction");
if(opAction.equals("loadDBRemarks")){
out.print(sb.toString());
}
}
}
问:我每次交互后都刷新A.JSP获取新值。。怎么做。??
锚定一下:有没有不要js交互 赋值的那种方式?
------解决方案--------------------window.location。reload();你弄个。在哪里,刷新个球。是.
------解决方案--------------------<form id="fom1">
<input type="text" id="user" name="user" value=<%=respUser%> />
</form>
function InnerRemarks() {
var user= $("#user").val();
$.ajax({
url : "/serv.do",
type : "post",
dataType : "html",
async : false,
data : "opAction=InnerRemarks&user="+user,
success : function(html) {
alert(html);
//window.history.back(-2);
//alert(window.location.href);//这里显示是:/serv.do
//window.location。reload();//无法实现刷新A。jsp
document.location.reload();//这样试试
},
error : function() {
alert("出错啦,请刷新重试!");
}
});
}
------解决方案--------------------reload()是重新载入,数据回来了,但你直接丢弃了,又重新请求了一次服务器,拿回A.jsp的所有内容,意思就是,你请求的数据,你并没有使用,而是在拿到数据的一瞬间按了下F5
------解决方案--------------------为什么要reload? 直接把返回来的数据 显示到页面上不就行了?
------解决方案-------------------- document.location.reload();
这个就是我们一般在游览器中常用的F5按钮。
你调用完后会有个返回函数,在这个返回函数中刷新数据列表。就是说,在你的服务器把数据准备好,返还个客户端,然后再客户端重新重新生成数据。
技术,在生成数据以前,要把以前的数据给清空了,不然数据会重复。
------解决方案--------------------没明白既然要刷新干嘛ajax
------解决方案--------------------感觉楼主没有明白ajax是什么,如果你要reload(),不如直接在serv.do里写cookie或者session,然后再在A.jsp里面取出来直接填到input里。