如何使用AJAX将一组对象传递给Flask?

时间:2017-07-17 19:56:45

标签: javascript jquery python ajax flask

@app.route('/saveData',  methods=['POST'])
def saveData():
  print(request.data)



$(document).ready(function(){
	annotations = []

	anno.addHandler('onAnnotationCreated', function(annotation){
		annotations.push(annotation);
	});

	var doneButton = $('#done');
	doneButton.click(function(){		
		$.ajax({
	        url: '/saveData',
	        data: {annotations:annotations},
	        type: 'POST',
	        success: function(response) {
	            console.log(response);
	        },
	        error: function(error) {
	            console.log(error);
	        }
    	});
	});
});



 我在javascript中有一组注释对象。当我单击完成按钮时,我想传递该对象数组以传递给Flask函数,我可以将它们存储在某个数据库中。我如何通过阵列?当我单击当前完成按钮时,出现控制台错误500 INTERNAL SERVER ERROR

回溯如下: KeyError: 0 127.0.0.1 - - [17/Jul/2017 16:36:21] "POST /saveData HTTP/1.1" 500 - [2017-07-17 16:36:23,376] ERROR in app: Exception on /saveData [POST] Traceback (most recent call last): File "/home/user/Desktop/annotate/venv/local/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app response = self.full_dispatch_request() File "/home/user/Desktop/annotate/venv/local/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request rv = self.handle_user_exception(e) File "/home/user/Desktop/annotate/venv/local/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception reraise(exc_type, exc_value, tb) File "/home/user/Desktop/annotate/venv/local/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request rv = self.dispatch_request() File "/home/user/Desktop/annotate/venv/local/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/home/user/Desktop/annotate/app.py", line 19, in saveData return(changed[0])

1 个答案:

答案 0 :(得分:0)

我不熟悉烧瓶,但ajax电话看起来是正确的。根据此SO thread,您可能需要使用request.form代替request.data