我正在努力发送一个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()失败。
答案 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个请求,使用此方法,数据永远不会在同一请求中)。要完成你想要做的事情,我采取不同的方法:
向表单添加隐藏元素。例如$(this).closest("form").submit();
更新您的javascript:
<input type="hidden" name="poll_id" id="myHiddenField">
然后,像往常一样通过表单访问数据,而不用担心<script type="text/javascript">
(function(){
$('input[type=radio]').on('change', function () {
$('#myHiddenField').val($(this).closest("div").attr("id"));
$(this).closest("form").submit();
});
});
</script>