求助,ajax重复提交问题

周星星丨 2014-03-18 09:41:38
我从一个页面点击一个按钮,跳转到另外一个也页面,同时在第二个页面的onload中调用js代码,js代码中实现了ajax请求

<script type="text/javascript">
var TaskId = ${sessionScope.taskId};
var TaskKind = ${sessionScope.taskKind};
function feedData(){
var chartRef = FusionCharts("ChId1");
var params = {
taskId : TaskId,
taskKind : TaskKind
};
$.ajax({
type: "POST",
url: "DataForRealTimeArea.action", //提交的地址
data: params,
dataType:"text",
success: function(json){
var obj = $.parseJSON(json); //使用这个方法解析json
var dataParameters = obj.dataParameters;
//alert(dataParameters);
chartRef.feedData(dataParameters);
},
error: function(json){
alert("返回数据失败!!");
}
});
//setTimeout("feedData()", 10000);
}
</script>

在action的后台程序中,我会调用代码获取数据然后返回给页面,我一次要获取一个数据,每次都会同时返回两个,我认为是但是每次ajax执行两次,这是打印的结果

2014-3-18 21:39:44
打开session
taskDataId:796
taskValue33.751684
2014-3-18 21:39:44
打开session
taskDataId:832
taskValue34.833313

各位大神大牛,帮我看看是什么问题,或者给我其他更好的解决方案,拜托了
...全文
97 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在使用struts2有一个问题<package name="promotion-json" namespace="/" extends="json-default"> 如果这个package继承了json-default的时候。如果在页面发送ajax请求的时候。在action中如果有多个方法的时候。会莫名其妙的发送了两个请求出来。一个是正常的。一个是空的。会造成错误。后来发现原因是这样的。 struts2 中JSON的原理是在ACTION中的get方法都会序列化,所以前面是get的方法只要没指定不序列化,都会执行。 也就是说。如果方法名称是get开头的。那么久会序列化然后被执行。 于是解决方法就是: 1、Action中的业务方法前别加get 或者 set(属性的get set 除外) 2、用@JSON(serialize=false)指定方法不序列化 E.G: import com.googlecode.jsonplugin.annotations.JSON; @JSON(serialize=false) public String getSomething() throws Exception{...} ,很无语的bug,折磨我两三天了,感谢大家的热心帮助了
周星星丨 2014-03-20
  • 打赏
  • 举报
回复
我自己找到问题了,在使用struts2有一个问题<package name="promotion-json" namespace="/" extends="json-default"> 如果这个package继承了json-default的时候。如果在页面发送ajax请求的时候。在action中如果有多个方法的时候。会莫名其妙的发送了两个请求出来。一个是正常的。一个是空的。会造成错误。后来发现原因是这样的。 struts2 中JSON的原理是在ACTION中的get方法都会序列化,所以前面是get的方法只要没指定不序列化,都会执行。 也就是说。如果方法名称是get开头的。那么久会序列化然后被执行。 于是解决方法就是: 1、Action中的业务方法前别加get 或者 set(属性的get set 除外) 2、用@JSON(serialize=false)指定方法不序列化 E.G: import com.googlecode.jsonplugin.annotations.JSON; @JSON(serialize=false) public String getSomething() throws Exception{...} ,很无语的bug,折磨我两三天了,感谢大家的热心帮助了
周星星丨 2014-03-20
  • 打赏
  • 举报
回复
就没有人吗,
周星星丨 2014-03-18
  • 打赏
  • 举报
回复
我用到了FusionChart这个框架,有不兼容的问题吗

52,798

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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