当使用AJAX从flask中返回值时,它说[Object, Object]。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当使用AJAX从flask中返回值时,它说[Object, Object]。相关的知识,希望对你有一定的参考价值。

所以我想让我的项目从API中实时更新价格。我成功地做到了,但价格本身是浮动值(int's和字符串也可以!)。我运行了 console.log &amp。print() 看看问题出在哪里。print()它说 <class 'dict'> 而在 console.log 我回来了 Object.

我猜我必须改变一些东西,才能接收浮动值?

总之,这是我的python代码。

@app.route('/bprices', methods=['GET'])
def bprices():
    f = requests.get(
        'https://api.hypixel.net/skyblock/bazaar?key=[can provide another key IF NEEDED]').json()

    products = [
        
            "id": product["product_id"],
            "sell_price": product["sell_summary"][:1],
            "buy_price": product["buy_summary"][:1],
            "sell_volume": product["quick_status"]["sellVolume"],
            "buy_volume": product["quick_status"]["buyVolume"],
        
        for product in f["products"].values()
    ]
    return jsonify(products=products)

这是我的html+脚本。

  <h3>Products</h3>
  <table id="products_table">
    <thead>
      <tr>
        <th>Name</th>
        <th>Quantity</th>
        <th>Price</th>
      </tr>
    </thead>
  </table>
  <script src="/static/jquery3.5.js"></script>
  <script type=text/javascript>
        $SCRIPT_ROOT =  request.script_root | tojson | safe ;
        (function () 
            $.getJSON($SCRIPT_ROOT + "/bprices",
            function(data) 
                var products = data.products;
                var table_body = document.createElement("tbody");
                $.each(products, function(index, product)
                    var product_name = product.id.toString();
                    var product_quantity = product.sell_price;
                    var product_price = product.buy_price;
                    var row = table_body.insertRow();
                    var name_cell = row.insertCell();
                    name_cell.appendChild(document.createTextNode(product_name));
                    var quantity_cell = row.insertCell();
                    quantity_cell.appendChild(document.createTextNode(product_quantity));
                    var price_cell = row.insertCell();
                    price_cell.appendChild(document.createTextNode(product_price));
                )
                $("#products_table tbody").remove();
                $("#products_table").append(table_body);
            
            );
            setTimeout(arguments.callee, 10000);
        )();
    </script>

谢谢 !:)

以上是关于当使用AJAX从flask中返回值时,它说[Object, Object]。的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试从 PHP 对象/数组返回值时,出现 500 错误。但是可以返回所有对象

当用户使用 ajax 在 laravel 中选择任何下拉值时,如何立即显示数据库详细信息?

Obj-C 框架返回 nil,并让我的 Swift 代码崩溃,说“致命错误:在展开可选值时意外发现 nil”

Obj-C 框架返回 nil,并让我的 Swift 代码崩溃,说“致命错误:在展开可选值时意外发现 nil”

从自动填充列表中选择值时运行 ajax 侦听器操作

jQuery Ajax 从控制器操作方法返回未定义