我已经花了数小时来解决这个问题……而且我不明白为什么使用Javascript发出请求时为什么收到未定义的响应。我的烧瓶应用程序非常基础,看起来像以下内容:
@app.route('/timespent', methods=['GET', 'POST'])
def calculateAvgReadTime():
return jsonify({'result':'Success'})
我用于向此端点发出请求的Javascript代码如下:
var xhr = new XMLHttpRequest();
// Setup our listener to process compeleted requests
xhr.onreadystatechange = function () {
console.log(xhr.status)
// Only run if the request is complete
if (xhr.readyState !== 4) return;
// Process our return data
if (xhr.status >= 200 && xhr.status < 300) {
// What do when the request is successful
console.log(JSON.parse(xhr.responseText));
}
};
xhr.open('GET', 'https://xxxxx.herokuapp.com/timespent');
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send();
以下是令人困惑的地方:
如果我使用Python或Insomnia之类的软件,则该请求将按预期方式返回,并且没有任何错误-这就是让我认为Javascript出现问题的原因……
当我将Javascript中的URL更改为“ https://jsonplaceholder.typicode.com/todos/1”时,它可以按预期工作并返回json-这就是让我认为我的flask应用程序出错的原因...
我们将不胜感激。