为了账号安全,请及时绑定邮箱和手机立即绑定

前端有如下函数接受json,可没接受到,请高手看看,这样写对吗?

前端有如下函数接受json,可没接受到,请高手看看,这样写对吗?

慕标琳琳 2023-02-17 21:17:12
function test(){var store2=new Ext.data.Store({proxy : new Ext.data.HttpProxy({url : 'job/job_do!getflag.action'}),reader : new Ext.data.JsonReader({root : 'flag',totalProperty : 'count2'},[{name:'teachdoc'}]),remoteSort : true});store2.load({params : {start : 0,limit : 12}});for(var i=0;i<store2.getCount();i++){ var record=store2.getAt[i];Ext.Msg.alert('xa',record.get('teachdoc'));}}后台action中的方法如下:public String getflag()throws Exception{//long id = RequestUtil.getIntParameter(req, "workId", 0);long teach_id = ((Teachers) req.getSession().getAttribute("teacher")).getTeachId();StringBuffer sb = new StringBuffer();// TbSubTeacherStatic model = new TbSubTeacherStatic();sb.append("{\"count2\":" + 1 + ",");sb.append("\"flag\":[");long s=this.jobDao.getflag(teach_id);sb.append("flag:\n[");sb.append("{"+"\"teachdoc\":\"" + String.valueOf(s)+ "\"}");sb.append("]}"); res.setCharacterEncoding("UTF-8");res.getWriter().print(sb.toString());return null;}
查看完整描述

2 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

HttpProxy的load方法实际上就是调用异步请求, 调用load方法后继续执行后续代码, 这个时候store还是空的, 所以没有alert出来. 将操作放到load成功的回调中: 
store2.on('load', function(){
for(var i=0;i<store2.getCount();i++)
{ var record=store2.getAt[i];
Ext.Msg.alert('xa',record.get('teachdoc'));
}
});

如果还是不行, 你把json字符贴出来看下是否有问题

查看完整回答
反对 回复 2023-02-20
?
SMILET

TA贡献1796条经验 获得超4个赞

xml配置问题,struts2的action要配置为返回的json类型
<action name="confirm" class="com.zdsoft.confirm.action.ConFirmAction">
<result type="json"></result>
</action>

查看完整回答
反对 回复 2023-02-20
  • 2 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号