Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript python与使用ajax的flask get和post方法_Javascript_Jquery_Python_Html_Flask - Fatal编程技术网

Javascript python与使用ajax的flask get和post方法

Javascript python与使用ajax的flask get和post方法,javascript,jquery,python,html,flask,Javascript,Jquery,Python,Html,Flask,我目前正在开发一个食品卡路里web应用程序,我想将mongoDB中的数据提取到一个HTML表中 我的python代码是: from flask import Flask from flask import request import requests from wtforms import Form, BooleanField, StringField, PasswordField, validators from flask import render_template, jsonify i

我目前正在开发一个食品卡路里web应用程序,我想将mongoDB中的数据提取到一个HTML表中

我的python代码是:

from flask import Flask
from flask import request
import requests
from wtforms import Form, BooleanField, StringField, PasswordField, validators
from flask import render_template, jsonify
import os
from flask import Markup
from contextlib import suppress
from collections import defaultdict
import operator
import re
from collections import Counter
import random
import math
import collections
import pymongo
from pymongo import MongoClient
from flask_table import Table, Col



app = Flask(__name__)

#jsonify(result=str(test[0]))



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


@app.route('/_foods')
def add_numbers():
    connection = MongoClient('<connection string>')
    db = connection.foodnutr

    a = request.args.get('a', 0, type=str)
    test=[]
    for i in db.foods.find( {"Description":{'$regex': a}}):
            test.append(i)

    items = [test[0]["Description"]]



    return jsonify(result=str(test[0]['Description']))




if __name__ == '__main__':
    app.run(host='127.0.0.1', port=2490,debug=True)
从烧瓶导入烧瓶
从烧瓶进口请求
导入请求
从wtforms导入表单、BooleanField、StringField、PasswordField、验证器
从flask导入渲染_模板,jsonify
导入操作系统
从flask导入标记
从上下文库导入抑制
从集合导入defaultdict
进口经营者
进口稀土
从收款进口柜台
随机输入
输入数学
导入集合
进口pymongo
从pymongo导入MongoClient
从flask_表导入表,Col
app=烧瓶(名称)
#jsonify(结果=str(测试[0]))
@应用程序路径(“/”)
def index():
返回渲染模板('index.html')
@附录.路线(“/”食品)
def add_number():
连接=MongoClient(“”)
db=connection.foodnutr
a=request.args.get('a',0,type=str)
测试=[]
对于db.foods.find中的i({“Description”:{“$regex”:a}):
附加测试(一)
items=[测试[0][“说明”]]
返回jsonify(result=str(测试[0]['Description']))
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.run(host='127.0.0.1',port=2490,debug=True)
我的HTML文件是:


$(函数(){
$(“#计算”).bind('click',function(){
$.getJSON('/_-foods'{
a:$('input[name=“a”]”)。val()
},函数(数据){
$(“#结果”).text(data.result);
});
返回false;
});
});
输入食物

身份证件 结果
对于当前JSON,请使用以下代码:

 $(function() {
    $('#calculate').bind('click', function() {
        $.getJSON('/_foods', {
            a: $('input[name="a"]').val()
        }, function(data) {
            for (key in data) {
                $('#result').append('<tr><td>' + key + '</td><td>' + data[key] + '</td></tr>')
            }
        });
        return false;
    });
});
在这种情况下,建议使用JSON2HTML:

var transform = {"tag":"table", "children":[
    {"tag":"tbody","children":[
        {"tag":"tr","children":[
            {"tag":"td","html":"${name}"},
            {"tag":"td","html":"${value}"}
        ]}
    ]}
]};

$('#result').html(json2html.transform(data,transform));

你能在这里写出json的输出吗?一个示例输出是:{'Protein(g)Per Measure':22.6,'Sugars,total(g):5.72,'vitamine(alpha-tocopherol)(mg)Per Measure':0.0,'Cu,Cu(mg):0.162,'vitamind(D2+D3)Per Measure':0.0,'Description':'ARBY'S,烤牛肉三明治,经典','Energy(kcal)每个度量值:361.0,‘每个度量值乳糖(g)’:0.0,‘每个度量值谷氨酸(g)’:0.0}但我的意图是用这个json输出生成一个表。我知道我可以在javascript上实现这个输出,但经过多次尝试后,我无法感谢你!!它很好用。我还将考虑使用第一个实现来改变JSON格式,数据是由jQuery接收的,但是数据对象的行为似乎是字符串而不是DICT。我的意思是最后一个for循环不能在字典键上迭代,并且作为data[key]我接收所有json对象。提前谢谢!!我解决了。我刚刚更改了jsonify(result=str(test[0]),以返回jsonify(**test[0])
var transform = {"tag":"table", "children":[
    {"tag":"tbody","children":[
        {"tag":"tr","children":[
            {"tag":"td","html":"${name}"},
            {"tag":"td","html":"${value}"}
        ]}
    ]}
]};

$('#result').html(json2html.transform(data,transform));