在pythonflas中接收2D列表作为请求参数

2024-04-25 13:48:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的烧瓶申请中收到一个二维列表。发送的json对象如下:

function someFunction() {
  var two_d_arr = [[a,1],[b,2],[c,3]];
  var data = {
    'arr' : two_d_arr
  };

  $.ajax({
    url: 'http://localhost:5025/',
    dataType: 'jsonp',
    data: data,
    success: function(response) {
        alert(response);
    }
  });
}

我多次尝试将这些元组作为列表检索,但都失败了。我希望看到他们的方式如下:

lst = [[a,1],[b,2],[c,3]]

当我打印request.data时,我得到以下输出(格式化以便于阅读):

ImmutableMultiDict([(
  'callback', u'jQuery1113017347401613369584_1450454196704'), 
  ('liveCells[2][]', u'c'), ('liveCells[2][]', u'3'), 
  ('liveCells[1][]', u'b'), ('liveCells[1][]', u'2'), 
  ('liveCells[0][]', u'a'), ('liveCells[0][]', u'1')
])

我尝试了各种方法来提取列表(request.form.getlistrequest.args.getList)等


Tags: 对象jsonurl列表data烧瓶responserequest
1条回答
网友
1楼 · 发布于 2024-04-25 13:48:05

您没有将请求编码为JSON。您只需要指定希望从服务器接收的内容(因为您希望jsonpjquery包含一个callback参数)。你知道吗

在客户端编码为JSON:

$.ajax({
    url: 'http://localhost:5025/',
    data: JSON.stringify(data),
    success: function(response) {
        alert(response);
    }
});

我省略了dataType参数,只有在jQuery无法自动检测响应类型时才设置一个参数。你知道吗

在服务器端,用request.get_json()读取响应。你知道吗

相关问题 更多 >