![](/img/trans.png)
[英]Pass python flask object into jQuery or JavaScript
[英]How can I pass an object with an embedded object from JavaScript (jQuery/ajax) to Python (Flask)?
我試圖將結構化數據從網頁傳遞到燒瓶處理程序,但出現關鍵錯誤。
在網頁的JavaScript中,我有一個包含兩個元素的對象,一個是值,另一個是對象。
問題出在Flask / Python方面。 我可以這樣獲得第一個元素( "cid"
):
print request.form ["cid"]
這樣可行。 但是,我無法訪問或獲取任何att(ribute)值( "att"
)。
因此, request.form ["att"]
返回KeyError: 'att'
我可以訪問request.form["att[sw1]"]
但是這使我的數據類型扁平化。
我想以列表或字典的形式獲取att元素,以便可以在應用程序中遍歷它們。 我本質上想要request.form["att"]["sw1"]
或request.form.att["sw1"]
。
var controllerData = {
sw1 : $('#sw1').val(),
sw2 : $('#sw2').val(),
sw3 : $('#sw3').val(),
sw4 : $('#sw4').val()}
var updateData = {cid : 1, att: controllerData };
$.ajax({
type: "POST",
url: "/SetSettings",
data: updateData,
success: function(d) { },
error: function(d) {alert('Error saving settings!');},
dataType: "json"
});
您必須使用JSON.stringify()將數據對象序列化為字符串。
$.ajax({
type: "POST",
url: "/SetSettings",
data: JSON.stringify(updateData),
success: function(d) { },
error: function(d) {alert('Error saving settings!');},
dataType: "json"
});
PS:某些對象,例如window
或包含循環依賴關系的對象,無法以這種方式序列化
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.