【发布时间】:2016-11-18 01:02:42
【问题描述】:
我正在学习并尝试使用 Python-Flask 和 Javascript 编写一个简单的股票报价工具。
我特别想学习 plain Javascript。我的代码正在运行,但我不明白的是,当我在观看开发人员控制台时,在获得成功的 console.log(response) 之前打印了 3 条错误消息。
是否只是代码在响应返回之前循环了 3 次,因此在最终返回 200 状态之前每次都记录了“错误”?有人可以向我解释一下还是给我指出一篇好文章/帖子?
我的事件监听器:
document.getElementById("btn_quote").addEventListener("click", getQuote);
ajax 调用:
function getQuote(e){
e.preventDefault();
var ticker = document.getElementById("ticker").value
var shares = document.getElementById("shares").value
var url = "/quote/"+ticker+"/"+shares
// Fetch the latest data.
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState === XMLHttpRequest.DONE) {
if (request.status === 200) {
var response = JSON.parse(request.response);
console.log(response);
}
} else {
// TODO, handle error when no data is available.
console.log('ERROR');
return false;
}
};
request.open('GET', url);
request.send();
}
【问题讨论】:
-
它会抛出什么错误?
-
它不会引发真正的错误。它触及了我要求它登录到控制台的代码部分,这样我就可以了解发生了什么
console.log('ERROR'); -
问题是,你点击 DONE 一次......如果状态是 200 一切都很好,如果不是,那么你什么都不做......你的
else代码放错了位置,那就是唯一的问题
标签: javascript ajax