我完全是Javascript的新手,在这里我有一个小问题。当我试图从元素值中获取时,它可以正常工作(控制台显示的值很好),但是当我试图将这个变量添加到JSON时,它说:“不能捕获TypeError:不能读取XMLHttpRequest.request.onload未定义的属性‘含义’。”
代码如下:
// Create a request variable and assign a new XMLHttpRequest object to it.
var request = new XMLHttpRequest()
// Open a new connection, using the GET request on the URL endpoint
request.open('GET', 'https://raw.githubusercontent.com/davidluzgouveia/kanji-data/master/kanji-jouyou.json', true)
request.onload = function () {
// Begin accessing JSON data here
// Begin accessing JSON data here
var data = JSON.parse(this.response)
var kanji = document.getElementById("kanji").value;
console.log(kanji);
// document.getElementById("on").innerHTML = data.日.readings_on; ------ WORKS CORRECTLY
document.getElementById("reading").innerHTML = data.kanji.meanings; ------ DOESN'T WORK
document.getElementById("kun").innerHTML = data.kanji.readings_kun; ------ DOESN'T WORK
document.getElementById("on").innerHTML = data.kanji.readings_on; ------ DOESN'T WORK
**// IF INSTEAD OF kanji I will put something else for example 日 my code works as it should.**
}
request.send();发布于 2020-10-05 03:53:24
你可以试试fetch。如下例所示:
fetch('https://raw.githubusercontent.com/davidluzgouveia/kanji-data/master/kanji-jouyou.json')
.then(response => response.json())
.then(data => {
let kanji = document.getElementById('kanji').value;
console.log('Success: ', data[kanji].meanings);
// json data returned, write the rest of your code here
// ....
})
.catch((error) => {
console.error('Error:', error);
});<input type="text" id="kanji" value="日" />
https://stackoverflow.com/questions/64198966
复制相似问题