将函数变量传递给JavaScript中的另一个函数?

时间:2018-07-20 16:45:35

标签: javascript function

我正在使用XMLHttpRequest获取JSON对象。我必须在窗口加载事件中从applicationContent函数中调用参数applicationData()

这是我的JSON文件:

{
  "content": {
    "siteCat": {
      "copy$$udo_template": {
        "domain": "host",
        "page_load": 5,
        "pageName": "Testing"
      },
      "copy$$dashboard_template": {
        "domain": "host",
        "content_ID": 5,
        "pageName": "dashboard"
      }
    }
  }
}

这是我的JavaScript:

var dataCall = function() {
  return new Promise((resolve, reject) => {
    var xhttp = new XMLHttpRequest();

    xhttp.onreadystatechange = function() {
      if (this.readyState == 4) {
        if (this.status == 200) {
          resolve(this.responseText);
        } else {
          console.log(this.status + '.....' + this.statusText)
        }
      }
    };
    xhttp.open("GET", "http://localhost:4200/assets/sample.json", true);
    xhttp.send();
  })
}

dataCall().then((CallResponse) => {
  getData(CallResponse)

});

var getData = function(cData) {
  jsonResponse = cData.replace(/'/g, '"');
  parsedJsonResponse = JSON.parse(this.jsonResponse);
  var appData = parsedJsonResponse['content']['siteCat']['copy$$udo_template'];
  console.log(parsedJsonResponse);
}

applicationData()函数中,我正在获取所需的JSON数据。

function applicationData = function(applicationContent) {
  var appData = parsedJsonResponse['content']['siteCat']['copy$$' + applicationContent];
  console.log(appData);
}

我需要在appData函数中调用相同的window.load,而在return中不使用appData语句。因为在appData变量之后,我正在更改接收的数据。能否获得applicationData的第一行?

window.load函数中,我应该收到"copy$$dashboard_template"键。

window.addEventListener("load", function (event) {
  applicationData();
  var x = appData;
  console.log(x)
})

0 个答案:

没有答案