首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在使用Ajax和Laravel时,需要帮助循环从DB获取的Json数据响应的内容

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

Stack Overflow用户
提问于 2019-07-31 05:35:00
回答 1查看 31关注 0票数 1

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

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

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

代码语言:javascript
运行
复制
$( ".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方法`

代码语言:javascript
运行
复制
public function showTopics(Request $request)
{ 
    $topics = Topic::where('track_id', $request->id)->latest()->get();
    return response()->json(['topics' => $topics]);
}

附加这些数据的div:

代码语言:javascript
运行
复制
<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,主题->标题和持续时间。不是本主题:对象对象,对象对象

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-31 07:17:24

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

代码语言:javascript
运行
复制
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 />") );
  }
}
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="topic-data">
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57280341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档