当前位置: 首页 > 知识库问答 >
问题:

在使用Ajax和Laravel时,需要帮助来循环从DB获取的Json数据响应的内容

白赞
2023-03-14

我有一个包含主题列表的表,每个主题都有自己的主题,所以我编写了一个ajax脚本来获取主题的每个主题“onclick”的主题,使用主题ID。

我尝试用控制台记录来自我的控制器的JSON成功响应,我看到了查询的结果,所以我使用Js append功能将数据追加到我的index.blade上的一个div中,但是它返回的主题:[object object],[object object]

显示选定主题的主题的Ajax请求track_id表示subject_id

$( ".show-topics" ).click(function() {
    var track_id= $(this).data('id');
    var html ='';

    $.ajax({
        type: "GET",
        dataType: "json",
        url: 'showTopics',
        headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}' },
        data: {'id': track_id},
        success: function(data)
        {
            // For loop statement to loop out the data```
            if(data.topics)
            {
                for(var key in data)
                {   
                    var value = data[key];
                    html+='<div>'+key+':'+value+'</div>'
                }
                $("#topic-data").append(html);
            }
        }
    });
});

在我的控制器中,我将此作为我的showtopics方法```

public function showTopics(Request $request)
{ 
    $topics = Topic::where('track_id', $request->id)->latest()->get();
    return response()->json(['topics' => $topics]);
}

要追加这些数据的div:

<div id="topic-data">
</div>

当我console.log(data.topics)获得此信息时,(2)[{…},{…}]0:created_at:“2019-07-29 18:04:32”持续时间:5 id:7标题:“My Porfolio Adesanya Folorunso”track_id:44 updated_at:“2019-07-29 18:04:32”

1:created_at:“2019-07-29 18:04:11”持续时间:2 ID:6标题:“Adesanya Folorunso”track_id:44 updated_at:“2019

我想显示主题->ID,主题->Title和Duration。非此主题:[object object]、[object object]

共有1个答案

辛可人
2023-03-14

我假设您的数据如下所示。如果是的话,用我的替换你的循环代码...

null

var data = 
{
    "topics":
    [
        {
            "created_at":"2019-07-29 18:04:32",
            "duration":5,
            "id":7,
            "title":"My Porfolio Adesanya Folorunso",
            "track_id":44,
            "updated_at":"2019-07-29 18:04:32"
        },
        {
            "created_at":"2019-07-29 18:04:11",
            "duration":2,
            "id":6,
            "title":"Adesanya Folorunso",
            "track_id":44,
            "updated_at":"2019-07-30 19:04:21"
        }
    ]
};

if(data.topics)
{
  for(var i=0; i < data.topics.length; i++)
  {
    $("#topic-data").append( $("<div />").text(data.topics[i].created_at) );
    $("#topic-data").append( $("<div />").text(data.topics[i].duration) );
    $("#topic-data").append( $("<hr />") );
  }
}
         
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="topic-data">
</div>
 类似资料:
  • 选择createdAt大于或等于“2021-08-15t00:00:00.000z”的记录 对于每个用户ID,只返回最新的记录,即按desc顺序按createdAt排序的记录。 返回的文档应该具有原始文档中的所有键。键的数量可能比文档中显示的要多得多。因此,查询应该自动返回所有键。 下面是所需的示例输出:

  • 我正在努力检索基于内容所有者的YouTube分析数据。从这次讨论(获取当前用户的YouTube内容所有者id)中,我了解到我需要查询youtubePartner.contentOwners.list(fetchmine=true)来获取内容所有者信息,其中的Id将被找到。 我纠结的是,当我调用youtubepartner . content owners . list(fetch mine = t

  • 问题内容: 我从我的C#网络方法中以这种格式重新获得了JSON: 我现在有一个asp.net下拉列表。好吧,它呈现为带有id 的html下拉列表。 我收到有关AJAX请求的成功警报。如何将这些结果填充到我的#city下拉列表中? 试过这个: 问题答案: 以下是在回调内部应做的事情: 示例: http : //jsfiddle.net/z2D8f/ 或一次附加全部HTML的替代方法,这可能会更快:

  • 问题内容: 是否可以在PHP中处理来自AJAX请求的响应?我不是一个真正的JS开发人员,所以我正在用这个开发人员。 我有点黑了: }); 该功能似乎可以正常运行,它会向我发出有关正确数据的警报。 我需要能够将此输出给用户,以便可读。我发现很多指南都描述了替换数据,但就目前而言,直到选择child_id之前,没有数据。.然后我希望它以可读的方式显示上述数据。 我不知道如何开始使用视图文件(php)中

  • 我试图写一个代码为每个股票价值是75美元或更多添加一个"*"在STK_FLAG列。 ORA-06550:第15行,第21列:PLS-00201:标识符“STK\U FLG”必须声明ORA-06550:第15行,第5列:PL/SQL:SQL语句忽略ORA-06550:第23行,第7列:PL/SQL:ORA-00904:“STK\U FLG”:无效标识符ORA-06550:第17行,第5列:PL/SQ

  • 我使用ACR122读卡器已经有一段时间了,它在读取Mifare 1K或Mifare Ultralight NFC卡时都没有问题。 将读卡器升级到最新版本(ACR1251)后,我的程序无法读取Mifare 1K卡的UID。 这是我用来阅读的片段: 使用新版rad阅读器: ResponseAPDU.getSW1()函数返回98 而getSW2()返回130 我试着在网上和读卡器文档中搜索响应代码的解释