javascript - JSON 到 HTML - 我被正式难住了

标签 javascript json ajax

经过一番努力,我已经能够蒙混过关获得代码,但我很困惑为什么它不通过 JavaScript 将 JSON 数据发送到 HTML。我可以打开开发人员控制台并在 onLoad 之后手动输入部分,它可以工作......但是它自己运行脚本所以它会自动填充页面上的空 div - 绝对没有......我知道它可能是愚蠢的并且small 我看多了 - 但我正处于我想从网站的这个愚蠢部分继续前进的地步。任何帮助将非常感激。

/* General Info                          */
/* Data Routing Structure:               */
/* (JSON DATA)   (jsVariable)  (cssID)   */
/* title         rTitle        rTitle     */
/* quote         rQuote        rQuote     */
/* source        rSource       rSource    */
/* text          rText         rText      */
/*---------------------------------------*/
/* All JSON Data Files Are Located In    */
/* (Root)/dta, And Are Split Into 12     */
/* Files.

/* Define Global Variables To Help       */
/* Specify The Current Day And Month     */
var date = new Date();
var m = date.getMonth();
var d = date.getDate();  
var months = new Array()
    months[0] = "january";
    months[1] = "february";
    months[2] = "march";
    months[3] = "april";
    months[4] = "may";
    months[5] = "june";
    months[6] = "july";
    months[7] = "august";
    months[8] = "september";
    months[9] = "october";
    months[10] = "november";
    months[11] = "december";
var month = months[date.getMonth()];


/* Make The Connection To The JSON File  */
    var drOb
    var xhr = new XMLHttpRequest();
    xhr.open('GET', "./dta/" + month +".json");
    xhr.overrideMimeType("application/json");
    xhr.setRequestHeader("Content-type", "application/json", true);

/* Pull JSON Data For Todays Date        */
/* When The Page Loads, And Send To HTML */
    xhr.onLoad = function() 
    {
      if (this.readyState == 4 && this.status == 200)
      {
        var drOb = JSON.parse(this.response);
        var rDate = m + d;
        var rTitle = drOb[DAY][d].TITLE;
        var rQuote = drOb[DAY][d].QUOTE;
        var rSource = drOb[DAY][d].SOURCE;
        var rText = drOb[DAY][d].TEXT;
        document.getElementById("rDate").innerHTML = rDate;
        document.getElementById("rTitle").innerHTML = xhr[DAY][D].TITLE;
        document.getElementById("rQuote").innerHTML = rQuote;
        document.getElementById("rSource").innerHTML = rSource;
        document.getElementById("rText").innerHTML = rText;

      }else{
        alert("Daily Reflection is currently not available, please inform someone....");    
      }
    };

    xhr.send();

最佳答案

xhr.onLoad

我认为应该是onload而不是onLoad

关于javascript - JSON 到 HTML - 我被正式难住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52174613/

相关文章:

javascript - 使用前瞻,如何确保至少包含 4 个字母数字字符 + 下划线

c# - ASP.net mvc API 获取请求和 JSON 数据

javascript - 如何在 jQuery 中读取 JSON 文件的内容

java - 如何使用 JSON 数据对 Jersey rest 服务进行 post ajax 调用?

javascript - 如何将样式应用于javascript中的变量

javascript - 来自 wordpress postmeta 表键的多个值

javascript - 使用 jQuery.val() 更新 Ember TextField 的值

java - 由于错误,无法将 json 字符串转换为 POJO 需要一个字符串,但结果是 BEGIN_ARRAY

jquery - 从 ajax post 在 django View 中创建多个对象

javascript - 在弹出窗口中打开部分 View