如何使用 jquery 在 html 中显示我的 json 结果?

Posted

技术标签:

【中文标题】如何使用 jquery 在 html 中显示我的 json 结果?【英文标题】:How do I display my json result in html using jquery? 【发布时间】:2021-12-03 01:32:18 【问题描述】:

使用 jQuery ajax 我正在获得一个 json 结果,我试图使用 jQuery 在 ID 为 txtResult 的段落元素中显示该结果。这是我的 ajax 调用的 .done 部分

     .done(function(result, textStatus, jqXHR) 

        console.log(result);

        if (result.status.name == "ok") 
            $('#txtResult').html(result['data']);
        
    )

这是控制台中显示的 json 结果:

    data:
       countryCode: "IT"
       countryName: "Italy"
       distance: "0"
       languages: "it-IT,de-IT,fr-IT,sc,ca,co,sl"
    [[Prototype]]: Object
    status:
       code: "200"
       description: "success"
       name: "ok"
       returnedIn: "120 ms"
    [[Prototype]]: Object
    [[Prototype]]: Object

 ​我显然做错了,虽然结果显示在控制台中,但页面上没有任何内容。谁能直截了当?

【问题讨论】:

看来result['data'] 是一个有很多属性的对象。您需要指定要显示的属性。 $('#txtResult').val(result.data.countryName) 例如。另请注意,我使用的是.val() 函数,而不是.html() 给定前缀txt,它很可能是一个文本框<input type='text',所以您需要.val(..) - 包括您的txtResult 的html 以进行确认。 【参考方案1】:

您必须使用 JSON.stringify 将 json 对象转换为字符串

var str = JSON.stringify(result.data).replace(/",\"/gi, "<br />").replace(/"/gi, "").replace(//gi, "").replace(//gi, "") ;
$('#txtResult').html(str);

输出

countryCode:IT
countryName:Italy
distance:0
languages:it-IT,de-IT,fr-IT,sc,ca,co,sl

【讨论】:

【参考方案2】:

多亏了上面的cmets,我才发现

    $('#txtResult').html(result.data.countryCode);

工作。

【讨论】:

以上是关于如何使用 jquery 在 html 中显示我的 json 结果?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery 在 HTML 表中显示 json 内容

如何使用 AJAX JQuery 将 HTML 中的 SQL 数据显示为表格?

如何使用JavaScript / JQuery显示表单中所有HTML输入值的摘要?

如何在我的情况下使用 jQuery 隐藏和显示?

如何在 JQuery UI Datepicker 中使用不同的日期格式(用于在 html 上显示和存储在数据库中)?

通过 Jquery 保存到 MVC 模型输入后如何在 Html 中显示记录