这个问题应该是常识性问题,可我还是不是很明白。
在前台用jquery请求后台的struts2的地址,在火狐下,响应数据都正常,只是在jquery的回调函数中不执行代码。
jsp中请求代码如下:
后台对应的处理代码:
回调函数
function(returnData){
alert(returnData);
} 总是不执行,
结果把writer.write("{result:ok}")里的ok改为'ok'就可以了。
在前台用jquery请求后台的struts2的地址,在火狐下,响应数据都正常,只是在jquery的回调函数中不执行代码。
jsp中请求代码如下:
function deletePortfolio(portfolioId){
if(window.confirm("删除该条记录后,将不能恢复!")) {
$.getJSON("/portfolioManage_deletePortfolio.do?rand="+Math.random(),{"portfolioId":portfolioId},
function(returnData){
alert(returnData);
});
}
}
后台对应的处理代码:
public String deletePortfolio(){
HttpServletRequest request = Struts2Utils.getRequest();
HttpServletResponse response = Struts2Utils.getResponse();
response.setContentType("text/html;charset=UTF-8");
String portfolioId = request.getParameter("portfolioId");
PrintWriter writer = null;
try {
writer = response.getWriter();
//省略了处理代码
writer.write("{result:ok}");
} catch (Exception e) {
e.printStackTrace();
writer.write("{result:error}");
} finally {
if (writer != null)
writer.close();
}
return NONE;
}
回调函数
function(returnData){
alert(returnData);
} 总是不执行,
结果把writer.write("{result:ok}")里的ok改为'ok'就可以了。