如题,初学extjs
[code="java"]
var store =new Ext.data.JsonStore({
autoLoad:true,
proxy:new Ext.data.HttpProxy({url:"http://localhost:8080/rbs/Login_testLogin.action"}),
// data:[{"id":1,"name":"图片","typeValue":"pic"},{"id":2,"name":"视频","typeValue":"avi"}],
fields:["id","name","typeValue"],
})
[/code]
上面的代码中,url里的action返回的string结果就是下面注释行中data的内容
但是当我使用注释行里写死的数据的时候,grid才能加载到数据,而用proxy获取action返回数据的时候,却不行
然后是action的代码
[code="java"]
List lt = service.findListByParam("from Types types");
JSONArray jsonObject = JSONArray.fromObject(lt);
outputStr = jsonObject.toString();
System.out.println(outputStr);
PrintWriter out = ServletActionContext.getResponse().getWriter();
getResponse().setContentType("text/javascript;charset=GBK");
out.print(outputStr);
return null;
[/code]
你不会是用本地的方式打开的页面吧?那样肯定是不能向后台发起请求的,另外,跨域请求一般也是行不通的
[code="js"]
var store =new Ext.data.JsonStore({
autoLoad:true,
url:"Login_testLogin.action", //不要加载前面的http://试试
fields:["id","name","typeValue"] //注意你这行最后多了一个逗号
})
[/code]
JsonStore必须要配置root属性,而且后台返回数据也必须是带root的JSONObject字符串,具体参考API或者Ext的example