问题描述
updateCountWx.action里面的代码:int counttest = we.test(); //counttest 是需要返回的数据Httpsession session1 = request.getSession();session1.setAttribute("counttest", counttest);//最后要返回的数据,我放在了session1里面返回行吗?out.print(session1)ajax代码::
function update() { $.ajax({url : "updateCountWx.action" ,method : "get",dataType : "??",success:function(data){var ??=data;var str="";str+="<tr><td><font size="5" style="微软雅黑">今天采集数</font> <font size="4">:</font> </td>";str+="<td><font size="5" style="微软雅黑"><B>"+${sessionScope.counttest}+"</B></font> <font size="4" style="微软雅黑">次</font></td></tr>";document.getElementById("updatecount").innerHTML=str;}});}//页面加载函数window.onload = function() {setInterval(update, 5000);}
??的地方应该填什么?我out.print(session1)对吗,我把返回的int型数据。放在了session1里面。我需要在ajax里面接收out.print()出来的数据。ajax怎么改
问题解答
回答1:为什么要放session里面来传给前台?这个我不是很懂你为什么这么做啊,我觉得返回那个数据,后台格式化成json字符串返回给前台,前台接收后总json.parse变成json对象来访问也可以吧?
回答2:dataType 是 'JSON',下面 var jo = data,是一个 JavaScript 对象,从 JSON 解析出来的。
如果是 int 型,可以直接输出,大分部情况可以正确解析。但一般推荐输出一个对象或者数组,用 JSON 处理库处理成字符串来 print,常见的 Java 的 JSON 库有 Gson,FastJson, Jackson 等