日期:2014-05-16  浏览次数:20512 次

Ext Struts2 Json上传表单问题
Java代码Struts2Action
this.jsonData = "{success:true}";
String jsonStr = jsonData.toString();
ServletActionContext.getResponse().setCharacterEncoding("utf-8");
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
ServletActionContext.getResponse().getOutputStream().print(jsonStr);
System.out.println(jsonStr);
return null;


Struts2.xml
<package name="test" namespace="/test" extends="json-default">
<action name="test" class="test" method="test">
<result type="json">jsonData</result>
</action>

Ext代码:
var form = brandForm.getForm();
     form.submit({
waitTitle : '请等待' ,
                    //waitMsg: '正在提交中',
                    success:function(form, action){
alert("dddd");
//Ext.Msg.alert('信息', '保存成功!');
},
failure:function(form, action){
alert("22222");
//Ext.Msg.alert('错误', '保存失败');
}
     });

请问为什么在Ext中没有返回任何数据?
success: 与 failure都不会触发,直接跳过,浏览器输入Action地址后返回的数据为{success:true}
Struts2 Ext Ajax

------解决方案--------------------
ServletActionContext.getResponse().getWriter().write("{success:true}");
用这个看看行不行
------解决方案--------------------
试试

var form = brandForm.getForm();
     form.submit({
                            url:'test',
                            method:"POST",
waitTitle : '请等待' ,
                    //waitMsg: '正在提交中',
                    success:function(form, action){
alert("dddd");
//Ext.Msg.alert('信息', '保存成功!');
},
failure:function(form, action){
alert("22222");
//Ext.Msg.alert('错误', '保存失败');
}
     });

------解决方案--------------------
执行到了你的action中去了吗?