gpt4 book ai didi

javascript - responseJSON 对象未定义

转载 作者:行者123 更新时间:2023-12-03 00:04:53 27 4
gpt4 key购买 nike

我以 JSON 格式从 Python Flask 发送数据。我能够获取数据,并在本地托管页面 http://127.0.0.1:5000/ 上的检查器中使用 for 循环。但是,当我将相同的 JavaScript 应用到本地 JS 文件并将其连接到我的 HTML 页面时,我不断收到来自 responseJSON 的 JSON 数据的未定义信息。我正在尝试从 JSON 数据获取数组,特别是 [10, 20, 30, 40, 50] 。然后我可以在 for 循环中使用它来生成列表。

app3/static/js/index.js :

console.log("connected to index.js!!!");
var getData = $.get("/send");
console.log(getData.responseJSON.result);

app3/views.py :

from flask import Flask, render_template, jsonify

app = Flask(__name__)

@app.route("/")
def index():
return render_template("index.html")

@app.route("/send")
def send():
return jsonify({"result": [10, 20, 30, 40, 50]})

if __name__ == "__main__":
app.run(debug=True)

app3/templates/index.html :

<!DOCTYPE html>
<html>
<head>
<title>Index</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="http://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
</head>
<body>
<h3>Index</h3>
<script type="text/javascript" src="{{url_for('static',filename='js/index.js')}}"></script>
</body>
</html>

Chrome 控制台中的错误位于 js 文件的第 5 行。具体来说,console.log(getData.responseJSON.result); :

Uncaught TypeError: Cannot read property 'result' of undefined
at index.js:5

它最初有效,但现在我一直收到此错误。它在检查器中工作得很好。为什么会发生这种情况?

最佳答案

只需查看 .get 的 jquery 文档即可,似乎 getData 未定义,因为它不返回任何内容。他们的例子是:

$.get( "ajax/test.html", function( data ) {
$( ".result" ).html( data );
alert( "Load was performed." );
});

尝试记录成功回调。您还可以在 devtools 中的第 5 行(带有您的日志)设置断点,并在一切崩溃之前检查 getData。

使用 Promise 的示例

$.get("/send").then(function (data){ 
// Executes after response is received
// data is the response returned
console.log(data)
});

希望这有帮助

关于javascript - responseJSON 对象未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55006109/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com