我正在对网站中包含的JSON文件执行Ajax GET请求。因此,JSON文件包含在单独的工作表中。请求的就绪状态为“ 4”,而状态为“ 0”。因此,请求已发送,但响应文本为空。
我已经验证了JSON数据。 javascript文件会在HTML5页面上应返回的位置返回数据。 错误处理给出就绪状态“ 4”和状态“ 0”。
这是javascript文件的代码,JSON数据正确且经过测试。.HTML5连接也应正常运行,经过测试。.javascript文件将数据插入HTML中正确的元素上。
谁能发现错误?感谢大家!
var xhr = new XMLHttpRequest(); //create Request Object
xhr.onload = function(){ //when the Request is loaded, parse it in a responsetext
if(xhr.status === 200){
var responseObject = JSON.parse(xhr.responseText);
var newContent ='';
for (var i=0; i<responseObject.events.length; i++){
newContent += responseObject.events[i].color;
newContent += responseObject.events[i].value;
}
document.getElementById("jsonreturn_option").innerHTML = newContent;
}
else{
document.getElementById("jsonreturn_option").innerHTML = xhr.readyState + " " + xhr.status ;
//readystate is 4, which means that the request has been sent..
//request status is 0, which means that the responsetext is empty..
}
};
xhr.open('GET','json/options_form.json',true);
xhr.send(null); //no additional data to be sent
JSON数据文件
{
"events":[
{ "color": "red", "value": "#f00"},
{ "color": "green", "value": "#0f0"},
{ "color": "blue", "value": "#00f"},
{ "color": "cyan", "value": "#0ff"}
]
}
答案 0 :(得分:0)
尝试使用xhr.onreadystatechange
代替xhr.onload
,并将xhr.open
和xhr.send
移动到xhr.onload
的顶部。让我知道它是否有效。
答案 1 :(得分:0)
1。您需要创建javaweb项目,然后设置一个tomcat服务器
2。将所有文件放入javaweb项目,然后启动tomcat服务器
3.open浏览器类型,例如:http://localhost:8080/javaweb/test.html
因为xhr.open('GET','json / options_form.json',true);无法请求本地文件,必须请求服务器文件