Ajax里面可不可以用json拼接几张表的内容?

小查 2012-12-07 12:08:16
我做的是右下角的弹出框,希望通过Ajax取得几张表的信息,拼接json的方式,然后返回json拼接的信息。但是似乎行不通的。求高手指教!或者我可以换种方式。
...全文
210 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
小查 2012-12-18
  • 打赏
  • 举报
回复
谢谢各位了!!!
yyl8781697 2012-12-07
  • 打赏
  • 举报
回复
引用 3 楼 sunsetforest 的回复:
引用 1 楼 hard_learner 的回复:你ajax调用自己写的方法还不是愿意返回什么数据就返回什么数据吗?既然能返回一张表的数据那么肯定能返回多张表的数据的 但是在Ajax里面取数据的时候,要取四张表的数据,肯定有某个表的数据是空的情况,那么js里面的(比方说:data[i].title,就报错,对象为空什么的)。
那你服务器端 在传的时候如果没有值 就给那个赋值一个空字符串 那这样就不会报错了呀
小查 2012-12-07
  • 打赏
  • 举报
回复
引用 1 楼 hard_learner 的回复:
你ajax调用自己写的方法还不是愿意返回什么数据就返回什么数据吗?既然能返回一张表的数据那么肯定能返回多张表的数据的
但是在Ajax里面取数据的时候,要取四张表的数据,肯定有某个表的数据是空的情况,那么js里面的(比方说:data[i].title,就报错,对象为空什么的)。
四惠大战僵尸 2012-12-07
  • 打赏
  • 举报
回复
传输时就是字符串嘛,想怎么拼就这么拼
hard_learner 2012-12-07
  • 打赏
  • 举报
回复
你ajax调用自己写的方法还不是愿意返回什么数据就返回什么数据吗?既然能返回一张表的数据那么肯定能返回多张表的数据的
小查 2012-12-07
  • 打赏
  • 举报
回复
我以[...]|[...]|[...]这样的方式拼了,在js里面用split取得分隔的字符串。搞定了~~~
personball 2012-12-07
  • 打赏
  • 举报
回复
对了,考虑到表的字段名不要暴露的情况,最好再写个方法,先把DataTable的字段名统一改了,开发时备注一下和原字段名的对应关系
personball 2012-12-07
  • 打赏
  • 举报
回复
写个通用的,把DataSet 整个转成json格式的方法(注意会影响json格式的字符),统一处理空表或空值的情况
小查 2012-12-07
  • 打赏
  • 举报
回复
引用 9 楼 yyl8781697 的回复:
在拼接json的时候加上引号试试,并且将他们转为字符串 比如 C# code ? 12 "\"title\":\"" + Convert.ToString(row["FlowInCapation"]) + "\",\"date\":\"" + Convert.ToString(row["StartTime"]) + "\"";
ProcessingDs这只是其中一张表对吧,判断了ProcessingDs.Tables[0].Rows.Count > 0,还有别的表需要这样的判断。。这。。。怎么这么纠结!好像不对。。
耗子哭死猫 2012-12-07
  • 打赏
  • 举报
回复
ison格式获取数据
   StringBuilder jsonBuilder = new StringBuilder();
        jsonBuilder.Append("{\"total\":" + dt.Rows.Count + ",\"rows\":[");
        for (int i = start; i < end; i++)
        {
            jsonBuilder.Append("{");
            for (int j = 0; j < dt.Columns.Count; j++)
            {
                jsonBuilder.Append("\"");
                jsonBuilder.Append(dt.Columns[j].ColumnName);
                jsonBuilder.Append("\":\"");
                jsonBuilder.Append(dt.Rows[i][j].ToString());
                jsonBuilder.Append("\",");
            }
            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
            jsonBuilder.Append("},");
        }
        jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
        jsonBuilder.Append("]}");
        return jsonBuilder.ToString();
yyl8781697 2012-12-07
  • 打赏
  • 举报
回复
在拼接json的时候加上引号试试,并且将他们转为字符串 比如

"\"title\":\"" + Convert.ToString(row["FlowInCapation"]) + "\",\"date\":\"" + Convert.ToString(row["StartTime"]) + "\"";
四惠大战僵尸 2012-12-07
  • 打赏
  • 举报
回复
不管几张表,在后台处理好了,给AJAX一个统一的获取接口
小查 2012-12-07
  • 打赏
  • 举报
回复
引用 4 楼 yyl8781697 的回复:
引用 3 楼 sunsetforest 的回复: 引用 1 楼 hard_learner 的回复:你ajax调用自己写的方法还不是愿意返回什么数据就返回什么数据吗?既然能返回一张表的数据那么肯定能返回多张表的数据的 但是在Ajax里面取数据的时候,要取四张表的数据,肯定有某个表的数据是空的情况,那么js里面的(比方说:data[i].title,就报错,对象为空什么的)。 那你服务器端 在传……
我截图了,能不能帮忙看看?
小查 2012-12-07
  • 打赏
  • 举报
回复
引用 2 楼 jia5255 的回复:
传输时就是字符串嘛,想怎么拼就这么拼

Ajax
Js
小查 2012-12-07
  • 打赏
  • 举报
回复
这是Ajax里面的:
引用 2 楼 jia5255 的回复:
传输时就是字符串嘛,想怎么拼就这么拼

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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