首页 新闻 会员 周边

请问 easyui datagrid 加载*.json 无显示,*.asp 就正常是为什么

0
[已解决问题] 解决于 2017-03-09 11:15

easyui 新手一名,玩 datagrid 发现加载*.json 无显示,*.asp 就正常的,

*.json 与 *.asp的内容是一样的,均是按uft-8编码保存,就是扩展名不一样,

Win7 IIS7.5 环境下,已添加 .json 的 MIME 为 text/plain

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 2 <html>
 3     <head>
 4         <link rel="stylesheet" type="text/css"
 5             href="easyui/themes/icon.css">
 6         <link rel="stylesheet" type="text/css"
 7             href="easyui/themes/default/easyui.css">
 8         <script type="text/javascript"
 9             src="easyui/jquery.min.js"></script>
10         <script type="text/javascript"
11             src="easyui/jquery.easyui.min.js"></script>
12         <script type="text/javascript">
13  $(function() {
14      var url='feedback_data.asp';
15  $('#feedback').datagrid({
16                   title : "用户反馈 - 所有",
17          width : "auto",
18          striped : true,
19          singleSelect : true,
20          loadMsg : "正在加载,请稍等...",
21          url : url,
22          pagination : true,
23          rownumbers : true,
24          pageList : [ 5, 10, 15, 20 ],
25          pageSize : 10,
26          idField:"id",
27          columns:[[
28          {title:"发送人",field:"user",width:"180",align:"center"}    ,
29          {title:"反馈内容",field:"title",width:"300",align:"center"},
30          {title:"时间",field:"sendTime",width:"300",align:"center"}
31          ]],
32          onDblClickRow:function(index,row){
33                  alert(row.id);
34              }
35  });
36  });
37  </script>
38 
39     </head>
40     <body>
41         <h1>HELLO</h1>
42         <table id="feedback" sytle="width:640px;height:400px;"></table>
43     </body>
44 </html>


如上数据显示正常,但是把14行的 url 改成  feedback_data.json 就显示不出数据了

直接用浏览器访问 feedback_data.json 也能显示数据文件的内容来

{                                                      
    "total":10,                                                      
    "rows":[                                                          
        {"id":"001","user":"ok","title":"这款软件我非常满意","sendTime":"2012年1月1日 15:40"},
        {"id":"002","user":"zs","title":"I think so good","sendTime":"2012年1月1日 15:40"},
        {"id":"003","user":"zs","title":"这款软件我非常满意","sendTime":"2012年1月1日 15:40"},
        {"id":"004","user":"zs","title":"I think so good","sendTime":"2012年1月1日 15:40"},
        {"id":"005","user":"zs","title":"这款软件我非常满意","sendTime":"2012年1月1日 15:40"},
        {"id":"006","user":"zs","title":"I think so good","sendTime":"2012年1月1日 15:40"},
        {"id":"007","user":"zs","title":"这款软件我非常满意","sendTime":"2012年1月1日 15:40"},
        {"id":"008","user":"zs","title":"I think so good","sendTime":"2012年1月1日 15:40"},
        {"id":"009","user":"zs","title":"这款软件我非常满意","sendTime":"2012年1月1日 15:40"},
        {"id":"010","user":"zs","title":"I think so good","sendTime":"2012年1月1日 15:40"}
    ]                                                          
}  
树欲静·而风不止的主页 树欲静·而风不止 | 初学一级 | 园豆:83
提问于:2017-03-08 10:35
< >
分享
最佳答案
0

f12看响应

奖励园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2017-03-08 13:45

F12看到对 easyui-datagrid 对 *.json的请求

返回 HTTP ERROR 405 - Method Not Allowed。

这个关键词查了一下,好像是 IIS 对禁止 POST静态文件。

网上改 IIS 配置的,允许POST的方案我都没有尝试成功,

我找到两个解决的办法:

1.用 *.asp 代替 *.json,尤其是本来就要获取动态查询结果,这个问题就绕过了

2.让 easyui-datagrid 以GET方式请求 *.json 文件, 在16行前插入 method:'GET',

树欲静·而风不止 | 园豆:83 (初学一级) | 2017-03-08 15:06
其他回答(1)
0

url='feedback_data.asp' url不对,ajax请求方式的url是这么写的吗?

 

~扎克伯格 | 园豆:1923 (小虾三级) | 2017-03-08 11:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册