ssh整合异步添加数据action得到json数据,但页面没反应?

kola_zou 2012-06-19 11:19:33
struts.xml里面配置
<package name="ssh" extends="json-default" namespace="/">

<action name="user_*" class="userAction" method="{1}">

<result name="addUser" type="json"/>

</action>
</package>

action里面部分代码
Map map = new HashMap();
map.put("flag", flag);
result = JSONObject.fromObject(map).toString();
System.out.println("json...... "+result);
return "addUser";
}
//name:客户端获取的json格式数据的名字
@JSON(name="result")
public String getResult() {
return result;
}
页面部分代码
$.getJSON(url,function(data){

var d = eval( "("+data.result+")" );
alert( d.flag );
if( d.flag == 0 ){

alert( "数据添加失败" );
}else{
alert("数据添加成功");
}

});


就是页面点击提交按钮后,进了action可以得到result,也输出了,就是页面没得到json返回数据,没反应???
页面那个getJSON完全没有进来?请教是什么原因???
...全文
337 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
kola_zou 2012-07-02
  • 打赏
  • 举报
回复
我在struts.xml配置文件里面加入
<result name="add" type="json">
<param name="includeProperties">result</param></result>
就可以了,action方法里面就不需要注解,这里不懂
huimiezu 2012-07-02
  • 打赏
  • 举报
回复
struts.xml配置文件中写ajax请求要返回的json数据
kola_zou 2012-06-19
  • 打赏
  • 举报
回复
页面是不要跳转,是那个页面要接受action处理完的数据,显示我是否操作成功,要给个反应,但没有?
桃园闲人 2012-06-19
  • 打赏
  • 举报
回复
既然是用ajax,那么为什么没有像前台输出了?还有你用Ajax请求,页面不应该跳转的呀。为什么还要
return 了?
Liboy 2012-06-19
  • 打赏
  • 举报
回复
好像是 response.getWirte.print()吧
miss味道 2012-06-19
  • 打赏
  • 举报
回复
Map map = new HashMap();
map.put("flag", flag);
result = JSONObject.fromObject(map).toString();
System.out.println("json...... "+result);
return "addUser";
}


后台代码中result 并没有response.wirte() 并未返回到前台,
你可以通过火狐进入查看返回的信息
kola_zou 2012-06-19
  • 打赏
  • 举报
回复
数据库中数据添加进去了,action也输出了JSON数据,就是页面中的$.getJSON()方法没进去??求解?
kola_zou 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 9 楼 的回复:

引用 8 楼 的回复:

引用 7 楼 的回复:

回复5楼:我是ssh整合,用的是struts2,response是封装好了的,不需要写,
回复5楼:action进来了,里面打印了数据,就是页面的不到传过来的值?不知道是没传?还是传了接收不到?

其实你用$.ajax 试一试就知道问题出在哪里了,因为你用的那个是直接json不容易调试,换个方式……
[/Quote]
action方法得到的json...... {"flag":1}没错啊???
xuan.ye 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

引用 8 楼 的回复:

引用 7 楼 的回复:

回复5楼:我是ssh整合,用的是struts2,response是封装好了的,不需要写,
回复5楼:action进来了,里面打印了数据,就是页面的不到传过来的值?不知道是没传?还是传了接收不到?

其实你用$.ajax 试一试就知道问题出在哪里了,因为你用的那个是直接json不容易调试,换个方式调试下就好了


弹出框:……
[/Quote]
你把action输出个简单的json对象或者json字符串,应该是提交前台的json有错误,可能换行引号之类。
实在不行自己拼接个简单的字符串(数字和字母,不含中文和html代码)提交给前台
kola_zou 2012-06-19
  • 打赏
  • 举报
回复
求高手指教啊?!
kola_zou 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

引用 7 楼 的回复:

回复5楼:我是ssh整合,用的是struts2,response是封装好了的,不需要写,
回复5楼:action进来了,里面打印了数据,就是页面的不到传过来的值?不知道是没传?还是传了接收不到?

其实你用$.ajax 试一试就知道问题出在哪里了,因为你用的那个是直接json不容易调试,换个方式调试下就好了
[/Quote]

弹出框:500 ??? 是内部错误?到底是哪里错了呢????
xuan.ye 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

回复5楼:我是ssh整合,用的是struts2,response是封装好了的,不需要写,
回复5楼:action进来了,里面打印了数据,就是页面的不到传过来的值?不知道是没传?还是传了接收不到?
[/Quote]
其实你用$.ajax 试一试就知道问题出在哪里了,因为你用的那个是直接json不容易调试,换个方式调试下就好了
kola_zou 2012-06-19
  • 打赏
  • 举报
回复
回复5楼:我是ssh整合,用的是struts2,response是封装好了的,不需要写,
回复5楼:action进来了,里面打印了数据,就是页面的不到传过来的值?不知道是没传?还是传了接收不到?
xuan.ye 2012-06-19
  • 打赏
  • 举报
回复
$(document).ready(function() {
$.ajax({
url : "user_*",
type : 'POST',
dataType : 'text',

success: function(data, textStatus){

},
complete: function(XMLHttpRequest, textStatus){

},
error: function(error){
///请求出错处理
alert('错误信息:'+error.status);
}
});

});

js 可以加"debugger" 进行调试,也有可能没有找到action
xuan.ye 2012-06-19
  • 打赏
  • 举报
回复

HttpServletResponse response = ServletActionContext.getResponse();

response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
System.out.println(resultString);
//直接输出响应的内容
out.println(resultString);
out.flush();
out.close();

return null;

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧