ajax json向烧瓶发出请求

时间:2016-12-09 19:44:04

标签: python ajax post flask

我正在努力发送一个ajax帖子请求,但无法弄清楚我哪里出错了,我有这个表格,我提交js和该表格我想发送div的id:

def distance(alist, blist):
    sum_of = 0
    for x in alist:
        for y in blist:
            ans = (x - y)**2
            sum_of += ans
    return (sum_of)**(1/2)
print(distance([1, 1, 3], [2, 2, 3])) #1.4142135623730951
print(distance([1, 2, 3], [2, 2, 3])) #1.0
print(distance([2, 2, 3], [2, 2, 3])) #0.0
print(distance([1, 1], [2, 2])) #1.4142135623730951

并且在烧瓶中我尝试使用<script type="text/javascript"> $(document).ready(function() { $('input[type=radio]').on('change', function() { $(this).closest("form").submit(); var poll_id = $(this).closest("div").attr("id"); var data = {poll_id}; console.log(JSON.stringify(data)); $.ajax({ url: '/poll', type: 'POST', data: JSON.stringify(data), contentType: 'application/json', dataType: 'json' }, function(data) { console.log(data); }); }); }); </script> 请求但是不断收到错误400,表单和db.commit()工作正常:

request.get_json()

但get_json()失败。

1 个答案:

答案 0 :(得分:1)

In [96]: b = np.array([1,0,1,0,0,0,0,0,1,0,1]) In [97]: num = b.dot(2**np.arange(b.size)[::-1]) # integer In [98]: np.fromstring(np.binary_repr(num), dtype='S1').astype(int) Out[98]: array([1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1]) 告诉您的html页面提交表单。如果该行之后的任何javascript甚至执行,您将发出单独的XHR请求(例如,2个请求,使用此方法,数据永远不会在同一请求中)。要完成你想要做的事情,我采取不同的方法:

  1. 向表单添加隐藏元素。例如$(this).closest("form").submit();

  2. 更新您的javascript:

    <input type="hidden" name="poll_id" id="myHiddenField">
  3. 然后,像往常一样通过表单访问数据,而不用担心<script type="text/javascript"> (function(){ $('input[type=radio]').on('change', function () { $('#myHiddenField').val($(this).closest("div").attr("id")); $(this).closest("form").submit(); }); }); </script>