Trong vòng một ứng dụng Flask, tôi có cuộc gọi ajax sau:Flask Python, cố gắng để trở lại danh sách hoặc dict để Ajax gọi
$.ajax({
url: "{{ url_for('bookings.get_customer') }}",
type: "POST",
data: nameArray,
success: function(resp){
console.log(resp)
}
})
Như bạn thấy, tôi đi qua một mảng dựa vào đó tôi sẽ tìm kiếm của tôi cơ sở dữ liệu mongo, sẽ trả lại hoặc không trả về một khách hàng.
Vì vậy, def trăn đó là trách nhiệm xử lý cuộc gọi ajax này là:
@bookings.route('/get_customer', methods=[ 'POST' ])
def get_customer():
name = {}
for key, value in request.form.items():
name[ key ] = value
customer_obj = customer_class.Customer()
results = customer_obj.search_customer(name)
return results
Vì lý lẽ của, cho phép nói cuộc gọi customer_obj trả về danh sách sau đây:
[{'customer': {
u'first_name': u'Dave',
u'tel': u'0121212121458',
u'country': u'UK',
u'address2': u'Townington',
u'address3': u'Cityville',
u'email': u'[email protected]',
u'postcode': u'A10 5BC',
u'address1': u'10 High Street',
u'second_name': u'Smith'
},
'customer_id': u'DaveSmithA10 5BCCat_Vegas1346244086'
}]
Khi tôi cố gắng để trả lại cuộc gọi ajax này là
return results
Tôi gặp lỗi sau:
TypeError: 'list' object is not callable
Đây là traceback:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1701, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1689, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1687, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1361, in
full_dispatch_request
response = self.make_response(rv)
File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1450, in make_response
rv = self.response_class.force_type(rv, request.environ)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/wrappers.py", line 711, in
force_type
response = BaseResponse(*_run_wsgi_app(response, environ))
File "/usr/local/lib/python2.7/dist-packages/werkzeug/test.py", line 818, in
run_wsgi_app
app_iter = app(environ, start_response)
TypeError: 'list' object is not callable
Có ai có bất cứ đề nghị?
Cảm ơn
là mọi thứ tốt với thụt lề? có vẻ như 'kết quả trả về' không ở đúng vị trí trong mã của bạn ... –
Xin chào, vâng, xin lỗi đó là lỗi đánh máy của tôi. Tôi đã sửa chữa nó ngay bây giờ. – Ste77