javascript - 如果没有返回JSON数据则AJAX成功函数

标签 javascript php jquery json ajax

我知道这很简单,但我正在努力做到这一点。我正在使用 jQuery/AJAX 从数据库中检索一些数据 (JSON)。然后我有一个成功的功能来显示数据。这工作正常,但我想在没有返回结果时提醒用户。

我的 PHP 摘录,对 JSON 进行编码:

...

while($row = $result->fetch_all())
{
    $returnResult = $row;
}
echo json_encode(['result' => $returnResult, 'errors' => $errors]);

....

我的 JSON 数据格式如下所示:

{"result":[["Grade 12","Studies","John","Doe"]],"errors":false}

我的 jQuery 然后使用 JSON 数据并显示在 html 元素中:

function getworkload(){

        $.ajax({
        type: "POST",
        url: "modules/getworkload.php",
        dataType: 'json',
        data: {id:id},
        cache: false,
        })
        .success(function(response) {
            if(!response.errors && response.result) {
                $.each(response.result, function( index, value) {
                    $("#divwork").append('<li class="list-group-item"><b>'+value[0]+'</b> : '+value[1]+'</li>');
                    $("#spnname").html('<b>'+value[2]+' '+value[3]+' Workload </b>');
                });
            } else {
                $.each(response.errors, function( index, value) {
                    $('input[name*='+index+']').addClass('error').after('<div class="errormessage">'+value+'</div>')
                });
            }
        });
}

我尝试替换 if(!response.errors && response.result) {具有以下内容:

  1. if(!response.errors && response.result=null) {
  2. if(!response.errors && !response.result) {
  3. if(!response.errors && response.result.length < 1) {

最佳答案

不要在 JSON 中传递 false 错误,而是抛出 404 或 500 等 HTTP 错误代码。然后,您可以在 javascript 中放置错误部分,而不是检查成功部分。

关于javascript - 如果没有返回JSON数据则AJAX成功函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45301545/

相关文章:

javascript - jQuery 表单 : Ajax response is displayed, 但未显示在源代码中

javascript - 如何选择所有选择了特定值的下拉菜单?

php - code igniter - 发送搜索词并使用 jquery 从 php 获取 mysql 结果作为 json

javascript - 每次更改都会调用 React 函数

php - 多选选项

php - 在 PHP 中设置背景颜色?

javascript - 重新加载页面图像应该被选中

javascript - 在 jQuery MultiColumn 自动完成中隐藏列

javascript - 并排显示两个列表项

javascript - QuietJs - Ionic 3 错误