Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax函数返回0记录时如何显示消息_Jquery_Ajax_Json - Fatal编程技术网

Jquery Ajax函数返回0记录时如何显示消息

Jquery Ajax函数返回0记录时如何显示消息,jquery,ajax,json,Jquery,Ajax,Json,当JSON在Ajax调用中返回0时,尝试显示消息“无数据显示”(使用DataTable)。但我不知道怎么做 尝试 $("#noData").show(); 使用if语句,但不起作用 <div id="noData" class="grid_4 alpha" style="display: none;">No data to display</div> 没有要显示的数据 下面是绘制表格的代码 function FillTable() { var title

JSON
Ajax
调用中返回0时,尝试显示消息“无数据显示”(使用
DataTable
)。但我不知道怎么做

尝试

$("#noData").show();  
使用if语句,但不起作用

<div id="noData" class="grid_4 alpha" style="display: none;">No data to display</div>
没有要显示的数据
下面是绘制表格的代码

function FillTable() {
    var title = plotData.title + ' / ' + YMLabel(plotData.startYM) + " - " + YMLabel(plotData.endYM);

    if (table != null) {
        table.fnDestroy(true);
    }

    $("#tabContainer").empty()
        .html('<h1 class="pageTitle">' + title + '</h1><img src="../styles/loading.gif">');

    $.ajax({
        url: "ajax_incidents_table.asp",
        type: "POST",
        data: {
            startYM: plotData.startYM,
            endYM: plotData.endYM
        },
        timeout: 10000,
        success: function (ajaxData) {
            var htmlstr = '<h1 class="pageTitle">' + title + '</h1><table id="table"></table>';
            $('#tabContainer').html(htmlstr);
            var tabSettings = {
                sDom: 'rt',
                bPaginate: false,
                sScrollX: "100%",
                bScrollCollapse: true,
                bFilter: false,
                aoColumns: ajaxData.aoColumns,
                aaData: ajaxData.aaData
            }
            table = $('#table').dataTable(tabSettings);
            SetTooltips()
            ShowDescription();
        },
        error: function (x, t, m) {
            alert('error: ' + m);
            $('#tabContainter').html("<h3>An error has occured. (" + t + " / " + m + ")</h3>");
        }
    });
函数FillTable(){
变量title=plotData.title+'/'+YMLabel(plotData.startYM)+“-”+YMLabel(plotData.endYM);
如果(表!=null){
表3.1(正确);
}
$(“#tabContainer”).empty()
.html(“”+标题+“”);
$.ajax({
url:“ajax\u events\u table.asp”,
类型:“POST”,
数据:{
startYM:plotData.startYM,
endYM:plotData.endYM
},
超时:10000,
成功:功能(ajaxData){
变量htmlstr=''+标题+'';
$('#tabContainer').html(htmlstr);
变量选项卡设置={
sDom:'rt',
bPaginate:false,
sScrollX:“100%”,
对:对,,
过滤:错,
aoColumns:ajaxData.aoColumns,
aaData:ajaxData.aaData
}
table=$(“#table”).dataTable(tabSettings);
设置工具提示()
ShowDescription();
},
错误:函数(x,t,m){
警报('错误:'+m);
$('#tabContainter').html(“发生错误。(“+t+”/“+m+”));
}
});

0仅当请求返回200(成功)时才会返回。否则,将执行
error
函数并提示用户错误

因此,您可以尝试以下方法:

success: function (data) {
  if(data == 0) { // if the result is 0
    $('#noData').show(); // show the div..
  }
}
这样,您就可以在success函数中检查结果的值


其次,您可以尝试在浏览器的Inspector的“网络”选项卡中检查网络请求。按F12键,然后转到“网络”选项卡,检查与请求相关的所有信息,然后根据条件对其进行编码。

客户端代码肯定需要@Afzaal Ahmed Zeeshan上面回答的内容

if(ajaxData.aaData == null) 
{ 
   $('#noData').show();
}
除此之外,实际问题出现在
Ajax
部分

json=json&",""aaData"":[null]}" 

客户端代码需要json格式的数据。但我尝试使用
Response.Write
来显示无数据消息,它发送文本(字符串)到主asp文件,该文件未格式化。

我删除了一些似乎不相关的标记。如果我错了,请随意重新添加它们。如果没有看到
ajaxData
的结构,就很难回答这个问题,但我想您可以检查
ajaxData.aaData
的长度。I是什么您尝试的f语句无效?这是ajaxData
结构
。抱歉,这对我没有帮助。我需要查看生成的json,而不是vb源代码。我尝试通过DebugWrite(“jsonData:&json”)打印生成的json但是,由于SQL查询返回0记录,所以无法打印。这是我以前尝试过的,没有显示任何消息。数据为0我知道,因为我尝试打印调试写入(“没有要显示的数据”)当服务器端的record=0时。您确定唯一的返回为:
return 0;
?如果否,那么这将不起作用。由于结果必须是单字符的0…我猜我在服务器端代码上做错了。当我得到SQL返回0条记录时,我将停止在那里运行代码。您可以检查第45到51行。我猜在这里JSON甚至没有被创建和传递。很抱歉,这方面的知识很少。确切地说,请尝试在末尾添加这一行:
return 0;
,然后结果将只是一个字符0:),其中可以添加
return 0;
?如果您可以从小提琴中指定行号,将非常有用。