struts返回的json一直提示下载,很急,求帮忙。

KAM哥 发布于 2014/01/01 16:19
阅读 688
收藏 1
<package name="json" extends="json-default">
<action name="QueryManager" class="com.Action.QueryManagerAction">
<result type="json">
<param name="root">result</param>
</result>
加载中
0
yelloweye
yelloweye

引用来自“KAM哥”的答案

引用来自“yelloweye”的答案

引用来自“yelloweye”的答案

ie8,返回的json包含了url就会存在此bug的,目前我的解决办法是

SONObject json = JSONObject.fromObject(map);

writeText(json.toString());

public void writeText(String content){
HttpServletResponse resp = ServletActionContext.getResponse();
resp.reset();
resp.setDateHeader("Expires", -1);
resp.setHeader("Cache-Control", "no-cache");
resp.setHeader("Pragma", "no-cache");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out;
try {
out = resp.getWriter();
out.print(content);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
我加上去了url还是 http://localhost:8080/GYM/QueryManager.action;jsessionid=B0EB4E3B05959B30D01912DAB82B54E7
然后内容就是[{"manager_Dept":"111","manager_Resp":"111","manager_Phone":"13323232321","manager_Name":"kam","manager_Psw":"123","manager_ID":1001},{"manager_Dept":"111","manager_Resp":"333","manager_Phone":"22211132323","manager_Name":"kam","manager_Psw":"123","manager_ID":1002}]
这种不会出现下载的,我说的是这种情况
1
温佐镜
温佐镜

这应该是ie系列浏览器无法识别application/json头信息,就会提示下载,其实可改为text/plain,配置如下:

<package name="json" extends="json-default"> 
<action name="QueryManager" class="com.Action.QueryManagerAction"> 
<result type="json"> 
<param name="root">result</param>

<param name="contentType">text/plain</param> 

</result>

温佐镜
温佐镜
回复 @KAM哥 : 可以呀,605878441
KAM哥
KAM哥
明天一定要帮助我好吗,我弄了三天都没弄好,差点要放弃了。。
KAM哥
KAM哥
我加了之后的确不会再弹出下载框,但是那个url一直停留在action那里。data没有输出到jsp中,我能加你号给我远程解决一下吗,我弄了好几天了。
0
wangxi得
wangxi得
下载 服务器端先下载
0
开源中国董事会主席
开源中国董事会主席
Content-Type:application/json
KAM哥
KAM哥
具体要怎么弄呢
0
KAM哥
KAM哥

<script type="text/javascript">
$("#click").click(function(){
$.ajax({
type:"post",
dataType: "json",
url:"QueryManager.action",
success:function(data){
$("#manage").append("sss");
}})});

这个是js,现在url是停留在action的,也就是说jsp也无法打印sss这个常量字符串。

0
KAM哥
KAM哥
需要解析json吗。。。我不大懂
0
hibegin
hibegin
看看你的json 有没有格式不对的地方。。
KAM哥
KAM哥
你现在能帮我远程下搞一下吗,实在没办法搞了。。。
0
实迷途其未远觉今是而昨非
实迷途其未远觉今是而昨非
换浏览器,有些浏览器就这样
KAM哥
KAM哥
chrome和IE都不行
0
yelloweye
yelloweye

ie8,返回的json包含了url就会存在此bug的,目前我的解决办法是

SONObject json = JSONObject.fromObject(map);

writeText(json.toString());

0
yelloweye
yelloweye

引用来自“yelloweye”的答案

ie8,返回的json包含了url就会存在此bug的,目前我的解决办法是

SONObject json = JSONObject.fromObject(map);

writeText(json.toString());

public void writeText(String content){
HttpServletResponse resp = ServletActionContext.getResponse();
resp.reset();
resp.setDateHeader("Expires", -1);
resp.setHeader("Cache-Control", "no-cache");
resp.setHeader("Pragma", "no-cache");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out;
try {
out = resp.getWriter();
out.print(content);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
yelloweye
yelloweye
回复 @KAM哥 : 是action返回
KAM哥
KAM哥
action要返回吗,返回什么,
返回顶部
顶部