如果满足GET请求数据中的条件,如何隐藏div

时间:2019-02-27 19:14:39

标签: javascript jquery function get

我有一个GET请求数据填充的div。我要这样做,以便如果不满足某些条件(没有任何数据),则div是隐藏的。当我使用本地JSON文件时,它可以正常工作,但是自从我切换到REST和axios以来,我不得不转换自己拥有的东西。

当我运行console.log(admText.length)时,我得到的是0,并且div隐藏在浏览器中,但是我渲染的用户数据确实包含数据。因此,他们的页面应显示该div。

我感觉我的if语句在错误的位置,但是我不确定该去哪里。将其放在let admText块中会导致错误。

JS代码段:

import $ from 'jquery';
import DataTable from 'datatables.net';

export default class {
    constructor() {

    }

    loadAdmData(response) {
        let admText = response.map(function(val) {
            return {
                "Status": val.AdmStatus,
                "Classification": val.Classification
            }
        })

        if (admText.length == "") $("#adm-tab").hide();
         // if (!admText.length)  $("#adm-tab").hide(); // was working w/ local JSON file

        console.log(admText.length);   // shows `0`, which isn't correct

    $('#adm-table').DataTable({
        columns: [
          { data: "Status" },
          { data: "Classification" }
       ... etc

1 个答案:

答案 0 :(得分:0)

您确定response是一个数组吗?如果您是从GET获取的,则可能是JSON字符串。
.map()将返回一个数组,因此admText是一个数组,由于您将.length称为'0',这意味着您的映射函数由于某种原因而失败。
您应该尝试console.log(response);console.log(admText);来查看您在地图中放置的内容以及从地图中获取的内容。