javascript - 从 JSON 对象检索新数据不起作用?

标签 javascript jquery json

alert(data.name); 不会返回数据对象的名称,但 alert(data.price); 返回价格并继续返回价格,无论我传递什么参数来提醒。我正在尝试找出原因。如果您有任何想法,请分享。我对这种有趣但看似不透明且难以调试的语言(即 JS/JQ)完全陌生。

我正在前端运行以下代码以接受用户的股票代码。最初,alert(); 包含 alert(data.price);,它显示股票的价格。我将其更改为 alert(data.name); 并且仍然得到价格。然后我将其更改为 alert('hello');,它返回了另一个(正确的)股票价格。

前端:

<!DOCTYPE html>

<html>
    <head>
        <script src="https://code.jquery.com/jquery-latest.min.js"></script>
        <script>
        /*global $*/

            /**
             * Gets a quote via JSON.
             */
            function quote()
            {
                var url = '/quote?symbol=' + $('#symbol').val();
                $.getJSON(url, function(data) {
                    alert(data.name);
                });
            }

        </script>
        <title>ajax0</title>
    </head>
    <body>
        <form onsubmit="quote(); return false;">
            <input autocomplete="off" autofocus id="symbol" placeholder="Symbol" type="text"/>
            <input type="submit" value="Get Quote"/>
        </form>
    </body>
</html>

在后端,我正在运行以下代码。它应该为我提供一个 JSON 对象,让我可以通过点表示法访问股票的名称、价格等。

后端:

import csv
import os
import urllib.request

from flask import Flask, jsonify, render_template, request
from flask.exthook import ExtDeprecationWarning
from warnings import simplefilter
simplefilter("ignore", ExtDeprecationWarning)
from flask_autoindex import AutoIndex

app = Flask(__name__)
AutoIndex(app, browse_root=os.path.curdir)

@app.route("/quote")
def quote():
    url = "http://download.finance.yahoo.com/d/quotes.csv?f=snl1&s={}".format(request.args.get("symbol"))
    webpage = urllib.request.urlopen(url)
    datareader = csv.reader(webpage.read().decode("utf-8").splitlines())
    row = next(datareader)
    return jsonify({"name": row[1], "price": float(row[2]), "symbol": row[0].upper()})

最佳答案

尝试将数据转换为 Javascript 对象,因为它是从后端作为 JSON 传递的,如下所示:

$.getJSON(url, function(data) {
   var resp = JSON.parse(data);
   console.log(resp) 
   alert(resp.name);
});

如果这不起作用,请从控制台注释相应内容。

关于javascript - 从 JSON 对象检索新数据不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43075524/

相关文章:

javascript - 通过 Ajax 从回显列表中排序 jQuery 列表

java - 有没有一种方法可以直接将 XML 转换为 JSON,并删除命名空间,而不需要任何中间的 XML 到 XML 转换?

jquery - header 固定但响应内容

javascript - 考虑到 mongodb 中的推特数据,如何使用 node.js 将 json 文件转换为 excel

PHP 内存耗尽 (json_decode)

javascript - 遍历javascript中对象的所有成员

javascript - OWIN cookie 身份验证在客户端获取角色

Javascript OnClick 跨浏览器友好吗?

jquery - 在 jQuery 插件中编写回调函数

javascript - JQuery - 向下滚动时隐藏,向上滚动时部分显示,在顶部时完全显示