初学者,跟着《 Head First HTML5 》在学,书上说本地托管也可以,然后我就用了本地托管(应该就是本地服务器吧?远程托管就是阿里云腾讯云之类的吧?)。本地服务器的建立是根据这个做出来的...
然后代码是根据书上写的,如下
function updataSales(responseText){
var salesDiv = document.getElementById("sales");
salesDiv.innerHTML = responseText;
}
window.onload = function(){
var url = "http://localhost/chapter6/sales.json";
var request = new XMLHttpRequest();
request.open("GET",url);
alert("!!!!!");
request.onload = function(){
if (request.status == 200){
updataSales(request.responseText);
}
}
request.send(null);
}
1
jugelizi 2017-08-13 12:44:46 +08:00
先装各 apache 或 nignx
然后用 jquery |
2
Newyorkcity OP @jugelizi 前面两个可以网上搜搜教程自己安装本地服务器,jquery 的话我现在 js 都没学好还只是初学者,不可能切过去学 jauery 啊。另外请问你觉得是什么问题呢?
|
3
oott123 2017-08-13 15:20:36 +08:00 1
你的代码没有问题。我猜测是 xhr 请求出错,请学习如何使用 Chrome Dev Tools。
onload 没有触发的话,onerror 或者 onreadystatechange 应该触发了。 以及看书不要太抠字眼,如果你理解不了就跳过。个人觉得这句话挺晦涩的,拿不准要表达什么意思。 |
4
oott123 2017-08-13 15:21:05 +08:00
以及,补充一句,这和本地还是远程服务器无关。
|
5
Newyorkcity OP @oott123 谢谢 chrome consolo 做出如下错误提示
XMLHttpRequest cannot load http://gumball.wickedlysmart.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 我自己也去搜索了一下,已有的问题都比我复杂些,然后我还是看到了跨域问题。然而我觉得这不可能是跨域问题啊,文件在本地,我的网页在本地,本地访问本地,这都能跨域吗。。。 可以麻烦你再看看可能是什么原因该怎么解决吗,谢谢。 |
6
zhoufenfens 2017-08-13 16:30:38 +08:00 via Android
requet.open 放在 request.onload 后面试试
|
7
oott123 2017-08-13 16:34:49 +08:00
@Newyorkcity #5 很明显,你访问了一个不在本地的 url: http://gumball.wickedlysmart.com/ 。
|