Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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数据是数组时,它是空的_Jquery_Ajax_Arrays_Json - Fatal编程技术网

Jquery 当Ajax数据是数组时,它是空的

Jquery 当Ajax数据是数组时,它是空的,jquery,ajax,arrays,json,Jquery,Ajax,Arrays,Json,我有以下PHP代码: $organization_modules = $this->getDatabase()->template(' SELECT * FROM Module Module INNER JOIN Organization_has_Module OHOM ON Module.id = OHOM.Module_id WHERE OHOM.Organization_id = ' . $_SESSION['User']['org'] .

我有以下PHP代码:

        $organization_modules = $this->getDatabase()->template('
  SELECT * FROM Module Module
   INNER JOIN Organization_has_Module OHOM
   ON Module.id = OHOM.Module_id
   WHERE OHOM.Organization_id = ' . $_SESSION['User']['org'] . '
   AND Module.category_id = ' . $_POST['category_id'], MySqlTemplates::RFQ_FM);
    $all_modules = $this->getDatabase()->template('SELECT * FROM Module WHERE category_id = ' . $_POST['category_id'], MySqlTemplates::RFQ_FM);
    foreach ($organization_modules as $module)
    {
        for ($i = 0, $size = count($all_modules); $i < $size; $i++)
        {
            if ($module['id'] == $all_modules[$i]['id'])
            {
                $all_modules[$i]['is_owned'] = true;
            }
        }
    }
print json_encode($all_modules);
现在返回以下数组:

但是,当我在Chrome中调试它时,它表示数据为空:

这是我的ajax

      $.ajax({
    type: 'POST',
    url: '/Module/findByCategory',
    dataType: 'json',
    data: {
        request: 'ajax',
        category_id: id
    },
    success: function (data) {
        $('#module_content').html('');
        $('#module_content').prepend('<div class="col-md-12"><a href="/Modules/index" class="btn btn-primary"><i class="fa fa-arrow-left"></i> Tilbage</a></div>');
        if(data.length > 0)
        {});
谁能告诉我发生了什么事。我还查看了Network->response,但即使在回应中,它也表示没有返回任何内容

输出阵列

**更新**

如果我打印json_编码“hello”,那就很有趣了

然后我发现结果不是null而是hello

我的阵列有问题吗

更新2

好吧,为了好玩,我试着选择我所有的用户并打印它们

那成功了吗

因此,我的数组显然有问题,可能是存在空值吗

更新3

为了好玩,我确定没有值是空的,现在它正在工作


到底是怎么回事

您的代码看起来是正确的。在为行创建的数组中查找错误/空值:

$all_modules = $this->getDatabase()->template('SELECT * FROM Module WHERE category_id = ' . $_POST['category_id'], MySqlTemplates::RFQ_FM); 

我正在发布OP所问的答案:有未知字符标记为?在屏幕截图上,这可能导致编码失败。但是,考虑重新检查数据库、表、PHP DB驱动程序和其他拼图的编码,以确保它不会再发生,因为人们完全可以使用具有损坏符号的名称,例如Laul-Analds

代替打印,使用。echo@AmitSoni怎么会这样Secho json_编码$all_模块;似乎不起作用放置一个print\r$all\u模块,看看数组中有什么@RahulGupta我可以使用Xdebug调试PHP,数组中充满了数据