有一个函数可以向JSON文件发送Ajax请求,获取文本并将其放在HTML页面中。 我需要过滤JSON内容以仅获取某个对象(JSON文件中的许多对象)。
我首先尝试了这个,以便从同一个对象中获取特定的键或参数:
var responseObject = JSON.parse(xhr.responseText);
console.log(responseObject.header);
callback(responseObject.header);
现在在Web控制台中,我看到了我需要的密钥参数。但是在页面上这个文字没有出现。
问题:
整个功能(它被写为commonjs模块)
module.exports = function(jsonDir, templId, finId){
function sendGet(callback) {
/* create an AJAX request using XMLHttpRequest*/
var xhr = new XMLHttpRequest();
/* Specify the type of request by using XMLHttpRequest "open",
here 'GET'(argument one) refers to request type
"jsonDir" (argument two) refers to JSON file location*/
xhr.open('GET', jsonDir);
/*Using onload event handler you can check status of your request*/
xhr.onload = function () {
if (xhr.status === 200) {
var responseObject = JSON.parse(xhr.responseText);
console.log(responseObject.header);
callback(responseObject.header);
} else {
alert(xhr.statusText);
}
};
/*Using onerror event handler you can check error state, if your request failed to get the data*/
xhr.onerror = function () {
alert("Network Error");
};
/*send the request to server*/
xhr.send();
}
//For template-1
var dateTemplate = document.getElementById(templId).innerHTML;
var template = Handlebars.compile(dateTemplate);
sendGet(function (response) {
document.getElementById(finId).innerHTML += template(response);
})
}