我使用WTForms爲Flask應用程序構建表單。 此表單的las字段是一個地址字段,可與google PlacesAPI一起使用,因此可自動完成用戶在該字段中引入的地址。WTForms,如何將JSON數據附加到請求中
我希望能夠保存當用戶選擇地址時由PlacesAPI生成的所有數據,但我正在努力尋找將數據發送到服務器的正確方法。
我有一個瓶子MongoDB作爲後端。
我已經試過
- AJAX
我submited形式使用jQuery的Ajax方法,我加入WTF-JSON到我的項目驗證它,它monkeypatches Form類和一些方法,所以它可以處理JSON作爲*** kwargs。
問題:這讓我無法在表單驗證中輕鬆地重定向用戶。
- 添加隱藏的輸入字段
我可以添加一個隱藏的輸入字段,其中我添加所有地址JSON作爲一個字符串,然後在我的後端
處理它問題:不知怎的,這SIMES哈克,我不知道是否有更好的方法
問題
什麼是正確的方法來做到這一點?這是我第一次嘗試,所以我非常確定我必須有一種方法在這裏失蹤。非常感謝您的幫助。
感謝Pralhad,我已經這樣做了,並且遇到了CSRF驗證問題。我已經在[這裏]解釋了它(http://www.reddit.com/r/flask/comments/3afaiv/af_flaskwtf_send_json_data_and_csrf_validation/),因爲我不想用這個問題來監督這個問題。我應該在這裏打開一個新線索或解釋我的探針嗎? –
很高興知道 - 你已經解決了它。它真的取決於你 - 但我會建議解釋這裏的東西,而不是一個新的線程:) –
嗯,我的問題如下:我有一個表單,需要一個地址字段。我使用Google位置API來自動載入建議,並且我需要將輸入位置的API數據也發送到數據庫。我用ajax做了這個,使用is_xhr,你的建議是我傾向於處理這種情況。事情是我發送所有信息使用jQuery與ajax發佈請求,並處理使用wtforms-json包(form = My orm)的有效性。from_json(request.json)。它完美地工作,除了它不會當我用燒瓶wtforms打開csrf保護。 –