Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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 如何使用json文件中的数据编辑html文件?_Javascript_Jquery_Html_Json - Fatal编程技术网

Javascript 如何使用json文件中的数据编辑html文件?

Javascript 如何使用json文件中的数据编辑html文件?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我有以下json文件 { "subject":"CSE", "semester":"Fall", "number":"219", "year":"2017", "title":"Title", "instructor_name":"Instructor Name", "instructor_home":"Instructor Home", "export_dir":"", "template_dir":"", "ho

我有以下json文件

{
    "subject":"CSE",
    "semester":"Fall",
    "number":"219",
    "year":"2017",
    "title":"Title",
    "instructor_name":"Instructor Name",
    "instructor_home":"Instructor Home",
    "export_dir":"",
    "template_dir":"",
    "home_page_boolean":true,
    "syllabus_page_boolean":true,
    "schedule_page_boolean":true,
    "hws_page_boolean":true,
    "project_page_boolean":true,
    "banner_school_image_file":"test.jpeg",
    "left_footer_image_file":"test.jpeg",
    "right_footer_image_file":"test.jpeg"
}
我还有下面的html文件

/*109923473*/

<html>
    <head>
        <title>CSE 380 Home Page - Spring 2017</title> 
        <link rel="stylesheet" type="text/css" href="./css/course_homepage_layout.css">
        <link rel="stylesheet" type="text/css" href="./css/sea_wolf.css">

    <!-- LINK TO OUR JQuery -->
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

    </head>

    <body>

        <div id="content">

            <div id="navbar">
                <a href="http://www.stonybrook.edu/"><img class="sbu_navbar" alt="Name" src="./images/ImageLogo.png"></a>

                <a id="home_link" class="open_nav" href="index.html">Home</a>
                <a id="syllabus_link" class="nav" href="syllabus.html">Syllabus</a>
                <a id="schedule_link" class="nav" href="schedule.html">Schedule</a>
                <a id="hws_link" class="nav" href="hws.html">HWs</a>
                <a id="projects_link" class="nav" href="projects.html">Projects</a>
            </div>

            <div id="banner">
                CSE 380 - Spring 2017<br>
                Computer Game Programming
            </div>

            <div id="desc">

                <h4> ANNOUNCEMENTS:</h4>

                <p>Welcome to the CSE 380 Web site. </p>
                <br><br><br><br><br>
                <hr>
/*109923473*/
CSE 380主页-2017年春季
CSE 380-2017年春季
计算机游戏编程 公告: 欢迎访问CSE 380网站







json数据不在html文件中。它是一个单独的文本文件,名为CourseDetails.json

我需要改变两件事

  • 替换各种课程详细信息。例如,在标题和公告中的html中,CSE 380 Spring 2017部分是硬编码的。我想用json文件中的内容替换所有这些细节
  • 有没有办法在html文件中设置变量,将它们设置为json文件中的值,然后只使用变量而不是硬编码数据

    这就像我的html包含一个像courseName这样的变量,然后用CSE替换courseName的每个实例 如果是欢迎来到courseName。多学习然后它就会成为欢迎来到CSE。多学习

  • 我还有5个布尔json数据变量。它们应该控制导航栏中显示的站点页面。例如,如果json文件包含

    “教学大纲\页面\布尔值”:错误 “计划页面”布尔值:false

  • 然后,html文件的导航栏部分应仅为

    <div id="navbar">
        <a href="http://www.stonybrook.edu/"><img class="sbu_navbar" alt="Name" src="./images/ImageLogo.png"></a>
    
        <a id="home_link" class="open_nav" href="index.html">Home</a>
        <a id="hws_link" class="nav" href="hws.html">HWs</a>
        <a id="projects_link" class="nav" href="projects.html">Projects</a>
    </div>
    
    
    

    谢谢

    我可以帮你开始。我总是这样做

    您可以使用ajax来填充数据。(我为此使用jQuery)。执行jQuery ajax调用,加载JSON文件并对其进行解析。然后使用jQuery替换所需各种元素中的HTML

    在您的示例中,解析数据后,只需将其与以下内容放在一起:

    $("#banner").html(<your content here>);
    $("#desc").html(<your content here>);
    
    $(“#banner”).html();
    $(“#desc”).html();
    

    有一些关于jQuery/AJax/JSON的优秀文档。请查看并查看.getJSON()调用,我认为该调用将完全满足您的需要。

    看起来您正在学习JavaScript和/或您是HTML/JS技术的新手。我建议你在W3学校学习入门课程(免费)

    我不会为您编写此代码,因为我认为如果您尝试自己实现此功能,您将学到很多东西,但我将给您一些提示:

    • 要更改HTML元素,首先需要访问它。常见的方法是设置ID或类,请阅读更多
    • 如果需要连接多个值,只需在变量之间放置+即可
    • 您必须做的是:将JSON文件加载到JavaScript变量中,然后更改所需的HTML元素,您需要访问它们,以便设置一些ID和/或类
    祝你玩得开心,好运


    PS:我认为最好从学习Vanilla JavaScript开始,而不是学习JQuery或任何其他JS框架,但这当然取决于您。

    首先,请真诚地尝试自己解决问题。如果我们看不到你的工作,你的问题很可能会被嘘下台;它将被否决并关闭。我自己已经做了很多尝试来解决这个问题。我只是不想把代码弄乱。。。我试着制作一个javscript文件来读取数据和附加信息,但是没有任何效果。谢谢你把我推向了正确的方向。我对json或jquery一点也不熟悉,所以这对我来说都是陌生的。那两行,是不是在两个标签里面?这里的内容是匿名函数吗?对于banner,它会替换id banner中的所有内容吗?好的,这是JavaScript代码,所以是的,它放在脚本标记中。假设JSON文件不变,您可以将其放在一个准备文档的脚本中。编辑之前的注释——好的,这是JavaScript代码,所以是的,它放在脚本标记中。假设JSON文件不变,您可以将其放在一个支持文档的脚本中。沿着这条线的东西
    $(document).ready(function(){
    `$.getJSON(“无论到您的文件.json的路径是什么,``函数(数据){`//code在这里处理数据`});`
    })