ssh框架怎么用ajax? 我的action可以获得表单传过来的值,ajax获取的response
ssh框架怎么用ajax?我的action可以获得表单传过来的值,ajax获取的response是整个网页的html代码。我百度说要用json,但是没学过。有没有比较容易...
ssh框架怎么用ajax?
我的action可以获得表单传过来的值,ajax获取的response是整个网页的html代码。我百度说要用json,但是没学过。有没有比较容易懂的方法让我知道下要怎么做 展开
我的action可以获得表单传过来的值,ajax获取的response是整个网页的html代码。我百度说要用json,但是没学过。有没有比较容易懂的方法让我知道下要怎么做 展开
1个回答
2016-10-18
展开全部
这种问题没必要来提个问,去百度一下 很多很多.
你在struts配置中action返回的应该是html页,所以ajax接收到的就是HTML代码,
你在struts配置中去掉 视图返回, 在servlet类中不写返回值,使用下面的代码
HttpServletResponse response=ServletActionContext.getResponse();
/*
* 在调用getWriter之前未设置编码(既调用setContentType或者setCharacterEncoding方法设置编码),
* HttpServletResponse则会返回一个用默认的编码(既ISO-8859-1)编码的PrintWriter实例。这样就会
* 造成中文乱码。而且设置编码时必须在调用getWriter之前设置,不然是无效的。
* */
response.setContentType("text/html;charset=utf-8");
//response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
//JSON在传递过程中是普通字符串形式传递的,这里简单拼接一个做测试
String jsonString="{\"user\":{\"id\":\"123\",\"name\":\"张三\",\"say\":\"Hello , i am a action to print a json!\",\"password\":\"JSON\"},\"success\":true}";
out.println(jsonString);
out.flush();
out.close();
追问
谢谢,成功了。还有一个问题,如果我要返回一个集合,要怎么写?用来做模糊搜索的下拉检索用的。
追答
一样的使用 JSONArray 类 将list转换为json数组字符串
例如 :
[{\"id\":\"123\",\"name\":\"张三\"},{\"id\":\"456\",\"name\":\"李四\"}]
js中使用eval函数 将json字符串转换成json对象,使用 result[0].id 的结果是"123"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询