【发布时间】:2017-04-26 21:43:21
【问题描述】:
我不断收到来自数据表 Jq 插件的“无效 json 响应”, 我正在发布我的 webmethod 和 HTML 结构以及 AJAX 调用, 我怀疑我的 web 方法没有正确序列化为 JSON 格式,但是当我测试格式时我发现它有效 (http://jsonlint.com/)。我无法解决这里的问题
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json, UseHttpGet:=False, XmlSerializeString:=False)> _
Public Function SrcTblRegx()
Dim constr As String = ConfigurationManager.ConnectionStrings("ARTSQLConStrng").ConnectionString
Using con As New SqlConnection(constr)
Using cmd As New SqlCommand("TblRegSearchx", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = con
Dim ds As New DataSet()
Using sda As New SqlDataAdapter(cmd)
sda.Fill(ds)
End Using
Dim jsondata As String = JsonConvert.SerializeObject(ds)
Return jsondata
End Using
End Using
End Function
Web 方法的输出是
<anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" xmlns:d1p1="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/" d1p1:type="q1:string">
{"Table":[{"Filenum":15112777,"FullName":"marwam saleh moh saleem","DOB":"2015-11-26T00:00:00"}]}
</anyType>
<table id="RegSrc2" class="table table-bordered table-striped">
<thead>
<tr>
<th><b>File Number</b></th>
<th><b>Patient Name</b></th>
<th><b>DOB</b></th>
</tr>
</thead>
<tbody></tbody>
<tfoot>
<tr>
<th><b>File Number</b></th>
<th><b>Patient Name</b></th>
<th><b>DOB</b></th>
</tr>
</tfoot>
</table>
$(document).ready(function () {
var $table = $('#RegSrc2');
$table.dataTable({
bProcessing: true,
"serverSide": true,
"sAjaxSource": $table.data('../CONFIG/WebSerTblsSearch.asmx/SrcTblRegx'),
})
});
我也在添加我的网络浏览器错误
jquery.dataTables.js:3929 Uncaught TypeError: Cannot set property 'data' of null
at _fnBuildAjax (jquery.dataTables.js:3929)
at _fnAjaxUpdate (jquery.dataTables.js:3946)
at _fnDraw (jquery.dataTables.js:3409)
at _fnReDraw (jquery.dataTables.js:3528)
at _fnInitialise (jquery.dataTables.js:4710)
at loadedInit (jquery.dataTables.js:1320)
at HTMLTableElement.<anonymous> (jquery.dataTables.js:1332)
at Function.each (jquery-2.1.4.js:374)
at jQuery.fn.init.each (jquery-2.1.4.js:139)
at jQuery.fn.init.DataTable [as dataTable] (jquery.dataTables.js:869)
【问题讨论】:
-
由于您使用的是 asmx 页面中的 Web 服务,因此无法正常工作。
-
所以我必须使用 ashx 处理程序?
-
不,您只需要更改您的表格减免。给我几分钟
标签: jquery asp.net vb.net datatables