JQuery DataTable에 초기 값을 채우는 WebMethod가 있습니다. WebMethod를 호출하고 다른 값으로 채우려는 드롭 다운 목록이 있습니다. JSON 데이터가 null (또는 '')이면 JSON.parse가 발생합니다 : 예기치 않은 데이터의 끝입니다.Ajax 성공 또는 비어있을 때 NO 데이터 표시
이제는 if(msg.d.length !- '' { build the table})
을 사용하여 객체의 길이를 확인할 수 있습니다. 그러나 길이가 null ('')이면 빌드 테이블에 절대 들어가서 데이터가 없거나 레코드가 없다는 사실을 알 수 없습니다.
JSON 문자열/개체가 null ('')이면 DataTables에 아직 레코드가 없습니다. 등을 확인할 수 있습니까?
$('#ddBICS').change(function (e) {
var val = $('#dd option:selected').text();
msgDateDetail(val);
});
function msgDateDetail(value) {
$.ajax({
type: "POST",
url: "Default.aspx/MsgDateDetail",
cache: false,
data: JSON.stringify({ searchValue: value }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var data = JSON.parse(msg.d);
var asInitVals = new Array();
otblMsgDateDetail = $("#tblMsgDateDetail").dataTable({
"sDom": "<'row-fluid'<'span6'T><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"oTableTools": {
"aButtons": [
"copy",
"print",
{
"sExtends": "collection",
"sButtonText": 'Save <span class="caret" />',
"aButtons": ["csv", "xls", "pdf"]
}
]
},
"aaData": data
})
}
});
}
을하기 전에
을이 작업을 수행해야합니다 .. –
@CSharpNewBee 전체 msgDateDetail 메서드를 추가하십시오. – nerdybeardo