append()拼接,输出双重数据

深海里的蓝玫瑰 2018-07-04 11:17:20
js代码:

function selectButton(){
$.ajax({
url:"${pageContext.servletContext.contextPath}/manager/checkUserDataSource.json",
data:{"id":1},
type:"GET",
dataType:"json",
success:function(data){

if(data!=null){
for(var v in data){
var r=data[v];
$("#dataTable").append('<tr><td>'+r.iD+'</td><td>'+r.proName+'</td><td>'+r.proDescript+'</td></tr>');

}
}
}
})

html代码:

<input type="submit" onclick="selectButton()" value="显示资料"/>
<table id="dataTable">
<tr id=tr_one>
<td>序号</td>
<td>名称</td>
<td>描述</td>
</tr>
</table>

输出数据是双重的

1 沙漠之鹰 大威力手枪
1 沙漠之鹰 大威力手枪
2 AWM 大威力狙击枪
2 AWM 大威力狙击枪
3 M4A1 最为常见的自动步枪
3 M4A1 最为常见的自动步枪
首页 上一页 下一页 末页


请问一下,这是为什么。是不是我哪里写的不对?先谢谢各位啦
...全文
255 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
已经解决,debug跑了一下,的确有6条数据。是我sql的问题,写错了。谢谢
  • 打赏
  • 举报
回复
你的data是数组类型,首先不建议数组类型用for。。in 循环,会把本身的属性也给循环出来,可以用var i=0;i<data.length;i++来循环
其次,你的代码并没有问题,出问题可能是你的json文件,或者data属性值过多,像我上面说的,有重复的属性值,如果json文件没重复,可以修改成var i=0;i<data.length;i++来代替,应该没错
chengyuc 2018-07-05
  • 打赏
  • 举报
回复
代码没有问题,应该是数据的问题

81,092

社区成员

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

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