Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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
Javascript 如何使用JQuery显示JSON中的特定数据?_Javascript_Jquery_Html_Json - Fatal编程技术网

Javascript 如何使用JQuery显示JSON中的特定数据?

Javascript 如何使用JQuery显示JSON中的特定数据?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我们公司想在一个大型招聘网站上展示我们的招聘广告。他们给我们一个JSON,在我们自己的网站上显示我们公司的工作 我想在概览中显示一些关键数据,如果单击链接,将重定向到显示详细数据的页面 JSON类似于: [ { "Position": "Developer", "Date": "now", "Description": "Lorem ipsum dolor sit amet" } { "Position": "Secretary", "Date": "next month", "Descript

我们公司想在一个大型招聘网站上展示我们的招聘广告。他们给我们一个JSON,在我们自己的网站上显示我们公司的工作

我想在概览中显示一些关键数据,如果单击链接,将重定向到显示详细数据的页面

JSON类似于:

[
{
"Position": "Developer",
"Date": "now",
"Description": "Lorem ipsum dolor sit amet"
}
{
"Position": "Secretary",
"Date": "next month",
"Description": "Lorem ipsum dolor sit amet"
}
{
"Title": "Postman",
"Date": "now",
"Description": "Lorem ipsum dolor sit amet"
}
]
概述页面的HTML文件如下所示:

<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
$.getJSON("test.json", function(json, status) {
    if (status === "error") {
        $("#textNoData").html("Error: " + xhr.status + ": " + xhr.statusText);
        return;
    }
    var tr;
    for (var i = 0; i < json.length; i++) {
        tr = $('<tr/>');
        tr.append("<h5>" + json[i].Title + "</h5>");
        tr.append("<strong>Date:</strong> " + json[i].Date + "<p>&nbsp;</p>");
        $('table').append(tr);
    }
});
</script>
 <div id="div-for-json"></div>
 <table>
     <tr>
     </tr>
 </table>

$.getJSON(“test.json”,函数(json,状态){
如果(状态=“错误”){
$(“#textNoData”).html(“错误:+xhr.status+”:“+xhr.statusText”);
返回;
}
var-tr;
for(var i=0;i日期:”+json[i]。日期+”

”; $('table')。追加(tr); } });
如您所见,概览页面应显示标题和日期。如果您单击标题(必须在“h5”旁边有一个“a href=”之类的地方),您应该重定向到一个页面,其中显示特定工作邀请的标题、日期和说明

我知道,如果我设置json[0].Description,它将向我显示用于Description的第一个数据。但是我如何设置超链接和代码,以便详细信息页面显示作业1的数据,如果我单击作业1,则显示作业2的数据,如果我单击作业2。。。?否则,我将不得不为大约200个作业(json[0]、json[1]…)创建HTML文件,而这不是json的本意


我不知道如何解决这个问题……

与其说是对原始问题的真正回答,不如说是一个建议,这里有一个解决方法

根据网站的构建方式,您应该为详细视图选择类似SPA(单页应用程序)的行为,而不是另一个完整的网页

这将防止加载整页仅显示少量数据。 这样,单击表格行将触发一个
slideToggle()
(),它将显示附加内容。 大概是这样的:

const json=[{
“标题”:“开发商”,
“日期”:“现在”,
“描述”:“Lorem ipsum dolor sit amet”
},
{
“职务”:“秘书”,
“日期”:“下个月”,
“描述”:“Lorem ipsum dolor sit amet”
},
{
“职务”:“邮递员”,
“日期”:“现在”,
“描述”:“Lorem ipsum dolor sit amet”
}
];
var-tr;
for(var i=0;i日期:”+json[i].Date+”

”; td.append(“说明:”+json[i].Description+”); 美元(tr)。追加(td); $(“#表”)。追加(tr); } $(“tr”)。在(“单击”,函数()上{ $(this.find(“div”).slideToggle(); });
#表{
宽度:100%;
}
#表tr{
背景:#ccc;
光标:指针;
填充:10px;
}
#表tr td{
填充:10px;
}


您考虑过循环吗?嘿,谢谢您的回复!那会是什么样子?我完全不知道JSON或JavaScript…:-/那么,如果你打算使用它们,也许你应该学习这些东西?我强烈推荐结构化的JS教程。我建议在询问之前先学习一些JS教程。StackOverflow并不是为你做这项工作,而是帮助指导你。祝你好运非常感谢,我做了一些工作,您的代码帮助我解决了很多问题,更好地理解了JSON!很高兴这有帮助^_^