jQuery dataTables 的WebServices 调用问题

vinjuviva 2012-04-15 04:39:02
使用jQuery dataTables 有个小疑问
先看两段简单的JS代码:
$(document).ready(function () {
$('#example').dataTable({
"bProcessing": true,
"sAjaxSource": "Default2.aspx",
});
});


$(document).ready(function () {
$('#example').dataTable({
"bProcessing": true,
"sAjaxSource": "WebService.asmx/GetDataSet",
});
});

Default2.aspx的返回代码:

public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string JSON_Data = "{\"aaData\": [";

DataSet ds = AccessHelper.GetData("select id,公司,姓氏,名字,职务 from 客户");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
JSON_Data += "[\"" + ds.Tables[0].Rows[i].ItemArray[0].ToString() + "\",\"" + ds.Tables[0].Rows[i].ItemArray[1].ToString() + "\",\"" + ds.Tables[0].Rows[i].ItemArray[2].ToString() + "\",\"" + ds.Tables[0].Rows[i].ItemArray[3].ToString() + "\",\"" + ds.Tables[0].Rows[i].ItemArray[4].ToString() + "\"],";
}
JSON_Data = JSON_Data.TrimEnd(',') + "]}";
Response.Write(JSON_Data);
Response.End();
}
}


WebService.asmx的GetDataSet方法:

public string GetDataSet()
{
string JSON_Data = "{\"sEcho\":1,\"iTotalRecords\":10,\"iTotalDisplayRecords\":10,\"aaData\": [";

DataSet ds = AccessHelper.GetData("select id,公司,姓氏,名字,职务 from 客户");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
JSON_Data += "[\"" + ds.Tables[0].Rows[i].ItemArray[0].ToString() + "\",\"" + ds.Tables[0].Rows[i].ItemArray[1].ToString() + "\",\"" + ds.Tables[0].Rows[i].ItemArray[2].ToString() + "\",\"" + ds.Tables[0].Rows[i].ItemArray[3].ToString() + "\",\"" + ds.Tables[0].Rows[i].ItemArray[4].ToString() + "\"],";
}
JSON_Data = JSON_Data.TrimEnd(',') + "]}";
return JSON_Data;
}

为什么Default2.aspx的返回能正常显示数据而WebServices 返回String 的json格式无效(json格式正确)
使用WebServices返回会提示:
DataTables waring:JSON data from server could not be parsed. This is caused by JSON formatting error.

怎样才能让WebServices的返回数据能正常显示?
...全文
216 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vinjuviva 2012-04-16
  • 打赏
  • 举报
回复
自己解决了

$(document).ready(function () {
$('#example').dataTable({
"bProcessing": true,
"sAjaxSource": "WebService.asmx/GetDataSet",
"fnServerData": function (sSource, aoData, fnCallback) {
$.ajax({
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
}
});
});
vinjuviva 2012-04-16
  • 打赏
  • 举报
回复
上边写错应该是 "dataType":"json",
vinjuviva 2012-04-16
  • 打赏
  • 举报
回复

$(document).ready(function () {
$('#example').dataTable({
"bProcessing": true,
"dataType"="json",
"sAjaxSource": "WebService.asmx/GetDataSet"
});
});

这样??一直在Processing...
刘小吉 2012-04-15
  • 打赏
  • 举报
回复
dataType="json"
vinjuviva 2012-04-15
  • 打赏
  • 举报
回复
吃饭去,回来再等
vinjuviva 2012-04-15
  • 打赏
  • 举报
回复
急,在线等

52,782

社区成员

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

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