要使用Flask将数据从Javascript获取到Python,您可以使用数据发出AJAX
POST请求或AJAX
GET请求。
Flask有六个可用的HTTP方法,我们只需要GET和POST。两者都将
jsdata作为参数,但是以不同的方式获取它。这就是在两种不同环境(例如Python和Javascript)中交换两种完全不同的语言的方式。
首先,在Flask中实例化GET路线:
@app.route('/getmethod/<jsdata>')def get_javascript_data(jsdata): return jsdata
或POST之一:
@app.route('/postmethod', methods = ['POST'])def get_post_javascript_data(): jsdata = request.form['javascript_data'] return jsdata
第一种是通过访问
/getmethod/<javascript_data>与AJAX
GET如下:
$.get( "/getmethod/<javascript_data>" );
通过使用AJAX POST请求的第二个:
$.post( "/postmethod", { javascript_data: data });
javascript_dataJSON dict或简单值在哪里。
如果您选择JSON,请确保将其转换为Python中的字典:
json.loads(jsdata)[0]
例如。
得到:
@app.route('/getmethod/<jsdata>')def get_javascript_data(jsdata): return json.loads(jsdata)[0]
开机自检:
@app.route('/postmethod', methods = ['POST'])def get_post_javascript_data(): jsdata = request.form['javascript_data'] return json.loads(jsdata)[0]
如果您需要反过来做,将Python数据压入Javascript,则创建一个简单的GET路由,不带返回JSON编码的dict的参数:
@app.route('/getpythondata')def get_python_data(): return json.dumps(pythondata)
从JQuery检索并解码:
$.get("/getpythondata", function(data) { console.log($.parseJSON(data))})
该
[0]中
json.loads(jsdata)[0]有没有因为当你解码Python中的JSON编码字典,你得到的单字典里面,存储在索引0,所以你的JSON解码后的数据看起来像这样的列表:
[{'foo':'bar','baz':'jazz'}] #[0: {'foo':'bar','baz':'jazz'}]
由于我们需要的只是字典中的字典而不是列表,因此我们将存储在索引为0的项目作为字典。
另外,
import json。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)