easyUI 使用datagrid 返回的json 数据正确 为啥页面显示不出来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyUI 使用datagrid 返回的json 数据正确 为啥页面显示不出来相关的知识,希望对你有一定的参考价值。
求解答 我是返回一个json格式的String
使用json 文件 页面也显示不出来,
但是 直接在js里面 使用data 属性把json字符串放进去可以出来……
疯掉了 啊 大神在哪啦啊
原因未知,不知道抽的什么疯
下面是抄来的
WIN7配置IIS支持.json格式文件(转)
windos7的iis默认并不支持解析.json格式的文件,站长最近在翻译jQuery EasyUI帮助手册时,由于要准确把握原文意思,所以对它附带的demo也一一试用了,结果就碰到了浏览器无法显示json数据的问题,由于插件的json数据是从.json文件载入的,所以推测应该是iis不支持json文件,现在把解决方法告诉大家:
1、iis必须开启asp支持,如果你的iis默认没有支持asp,那么进入控制面板——程序——打开或关闭windows功能——internet信息服务——万维网服务——应用程序开发功能,选择asp,然后确定。
2、开启asp支持后,进入控制面板——系统和安全——管理工具——internet信息服务管理器,打开”MIME类型“。点击添加,扩展名写“.json”【不要引号】,MIME类型写”application/x-javascript“【不要引号】,然后确定。
3、打开”处理程序映射“,点击”添加脚本映射“,请求路径写”*.json”【不要引号】,可执行文件为“C:\Windows\System32\inetsrv\asp.dll”【通过浏览窗口定位该文件】,名称写“JSON”,再打开请求限制——谓词——下列谓词之一,填写“GET,POST”【不要引号】,两次确定后会弹出提示,点击“是”,然后重启IIS。
4、通过浏览器访问:http://localhost/xxx.json,应该就可以显示json数据了,如果出现下载提示,检查以上步骤是否出现拼写错误,如果没有,重启计算机,应该就可以了。
改成string data = "[\"name\":\"ants\",\"age\":\"24\",\"name\":\"lele\",\"age\":\"23\"]";
就不用换jq版本
+1 json不规范引起的
另外context.Response.ContentType = "application/json"; 参考技术A 所以最容易出问题的地方在于路径,你使用firebug,查看一下到底有没有访问到你的这个json文件追问
你好,我调试的时候发现,
这个请求会有networkError 404 但是 他确实是触发了后台的controller 返回json了 ,这个是为什么。
想不通……。
那你点开看看呗。。哪里的错误
追问看不懂额,请求路径没什么问题呀
.do 你这是struts1??
但是你的脚本报错了,404,脚本没找到。你检查一下
使用easyui中的datagrid时,通过action能够返回json数据,但是,却不能在页面中显示数据
如果是分页查询数据的话,首先将不必要的字段过滤了,如:currentPage,DetachedCriteria,pageSize.
通过以下代码完成
JsonConfig config = new JsonConfig(); config.setExcludes(new String[]{"currentPage","dc","pageSize"}); //将pageBean转化为json String json = JSONArray.fromObject(pb,config).toString();
此时,返回的json数据是如下类型:
[ { "rows":[ { "decidedzones":[], "deltag":"", "haspda":"1" ,"id":"297e95de5ef6a63e015ef6ca27030000", "name":"lsi", "standard":"正常", "station":"tudou", "telephone":"18345678999" } ], "total":4 } ]
如果要想在页面中接收到数据必须要将最外层的中括号去了。我是通过求其子字符串完成的。如下:
json = json.substring(1, json.length()-1);
然后,将其写会页面中。
//帮pageBean写入页面中 ServletActionContext.getResponse().setContentType("text/json;charset=utf-8"); ServletActionContext.getResponse().getWriter().print(json); return NONE;
如果,json中的key与easyui中datagrid的columns的field属性一致的话即可正确显示
以上是关于easyUI 使用datagrid 返回的json 数据正确 为啥页面显示不出来的主要内容,如果未能解决你的问题,请参考以下文章
ssm+easyUI datagrid 不能显示后台controller层返回的json数据
springmvc 后台向页面EasyUI的Datagrid传递数据(JSon格式)