当前位置: 代码迷 >> J2EE >> 大牛们来帮帮!ajax 交互成功后的 刷新有关问题,要给力阿
  详细解决方案

大牛们来帮帮!ajax 交互成功后的 刷新有关问题,要给力阿

热度:19   发布时间:2016-04-22 00:23:01.0
大牛们来帮帮!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里。

第二种就直接用ajax的方式
  相关解决方案