我想尝试将一个字符串从AJAX传递给Flask,正在接收请求,但似乎没有任何数据通过
AJAX:
function scan(){
var i = $(".btn.btn-default").attr("id");
var id = i.toString();
console.log(id);
$.ajax({
type: "GET",
url: '/scan',
data: id,
success: function(data) {
console.log(data);
}
});
}
Python / Flask:
if request.method == 'GET':
logger.log('request received') #this is printing out successfully
a = request.data
if a == 'mystring':
return 'Successful'
我做错了什么?它必须非常简单。
答案 0 :(得分:1)
数据强> 键入:PlainObject或String或Array要发送到的数据 服务器。如果不是字符串,它将转换为查询字符串。 它附加到GET请求的URL。请参阅processData选项 防止这种自动处理。 对象必须是键/值对。如果 value是一个数组,jQuery使用相同的键序列化多个值 基于传统设置的价值(如下所述)。
由于您没有向$.ajax
提供键/值对,因此没有数据发送到服务器。相反,请尝试data: {id: id}
。
然后,在Flask中,您可以访问此值:request.args['id']
(或request.args.get('id', None)
以提供默认值None
)。
(Here是Request.args
的文档。)