我正在使用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)
})