我使用AJAX在POST-to-Flask中发送数据,但是我所获得的POST数据不是我的技能所能解析的。有人能帮我试着理解如何把这些变量解析成一个列表吗?在
烧瓶中的数据如下:
items%5B%5D=104-92923-G42LH&items%5B%5D=102-10001-CRD-P07G19&items%5B%5D=104-92925-SML-CLRH&items%5B%5D=104-92923-92R-LH&items%5B%5D=104-92924-COLTRH
当我用在线解码器解码时,我看到:
items[]=104-92923-G42LH&items[]=102-10001-CRD-P07G19&items[]=104-92925-SML-CLRH&items[]=104-92923-92R-LH&items[]=104-92924-COLTRH
我的问题是,我不知道如何将这个字符串解析成一个列表。我使用了不同的request
函数来查看是否可以以其他方式获得数据,但我仍然没有运气。目前我在flask函数中使用data = request.stream.read()
来查看数据。在
另外,这里是我的AJAX函数:
$("#myForm").submit(function(e) {
var url = "http://127.0.0.1:8080/_data";
var result = [];
$('.varSku').each(function () {
result.push($(this).data("sku"));
});
var data1 = {items: result};
$.ajax({
type: "POST",
url: url,
dataType : "string",
data: data1,
success: function(data)
{
console.log(data);
}
});
e.preventDefault();
});
我的烧瓶功能:
^{pr2}$任何帮助都将不胜感激。在
问题是,当发送包含数组或对象值的POST数据时,jQuery遵循一个PHP惯例,即在字段名中添加括号。在
为了克服这个问题,我不得不使用另一个名为^{} 的函数,因此我不得不改为
request.form.getlist("items[]")
谢谢你的帮助,马丁
您正在查找
request.form
,它会自动将正文内容解析到字典中。在您的例子中,您应该使用request.form["items"]
。在有关详细信息,请查看documentation。在
相关问题 更多 >
编程相关推荐