嗨,我试图制作一个脚本,通过按下一个按钮可以获得对象的更多信息,但到目前为止我遇到了一些问题。当我点击"mer info"时,代码在第一个"Drue"上运行良好,但如果我尝试按下"Eple"或另一个,我会得到错误"无法读取未定义的属性'objX'",其中X是php 中数组的名称
这只是第一个对象"Drue"answers"Eple"的代码
var request = new XMLHttpRequest();
request.onreadystatechange = function () {
if (request.readyState == 4 && request.status == 200) {
var response = request.responseText;
var mink = JSON.parse(request.responseText);
text.innerHTML = mink[0].obj1;
epletext.innerHTML = mink[1].obj1;
banantext.innerHTML = mink[2].obj1;
orangetext.innerHTML = mink[3].obj1;
} else {
text.innerHTML = "pissing...";
epletext.innerHTML = "pissing...";
banantext.innerHTML = "pissing...";
orangetext.innerHTML = "pissing...";
}
}
request.open("GET", "info.php", true);
request.send();
btn.onclick = function (){
request.onreadystatechange = function () {
if (request.readyState == 4 && request.status == 200) {
if (drue == 0) {
var response = request.responseText;
var mink = JSON.parse(request.responseText);
text.innerHTML = mink[0].obj2;
drue = 1;
} else {
var response = request.responseText;
var mink = JSON.parse(request.responseText);
text.innerHTML = mink[0].obj1;
drue = 0;
}
} else {
text.innerHTML = "pissing...";
}
}
request.open("GET", "info.php", true);
request.send();
}
eple.onclick = function (){
request.onreadystatechange = function () {
if (request.readyState == 4 && request.status == 200) {
if (eplenr == 0) {
var response = request.responseText;
var mink = JSON.parse(request.responseText);
epletext.innerHTML = mink[1].obj2;
eplenr = 1;
} else {
var response = request.responseText;
var mink = JSON.parse(request.responseText);
epletext.innerHTML = mink[1].obj1;
eplenr = 0;
}
} else {
epletext.innerHTML = "pissing...";
}
}
request.open("GET", "info.json", true);
request.send();
}
这是我使用的php代码
<?php
$shop = array(
array( "obj1" => "en fin kladd druer",
"obj2" => "en nydelig kladd med ferske druer hentet fjellene i frankrike, gravd ned ved røttene til palmene i Miama og fryst i isen på Grønnland for å gi den perfekte smaken de har",
),
array( "obj1" => "et grønnt og fint eple",
"obj2" => "et fantastisk eple hentet fra hagen til Gjermung",
),
array( "obj1" => "en pakke er på 4 bananer",
"obj2" => "Bananene er håndplukket av slaveaper i skogene i Atlantis",
),
array( "obj1" => "store appelsiner",
"obj2" => "disse appelsiene er det ikke noe spessielt med, de er helt vanlige, noen av dem har litt mugg på seg",
)
);
header('Content-Type: application/json');
echo json_encode($shop);
?>
感谢您观看
当mink[0]
不存在时,您正试图访问mink[0].obj2
。你可以很容易地检查这个
if (mink) text.innerHtml = mink[0].obj;