2011-07-11 47 views
1

我使用json查詢web2py。我想在返回的json對象中附加flash消息。默認情況下,web2py僅使用頁面中使用的變量的json對象。一種解決這個問題的方法是在我返回的所有dict對象中手動追加flash消息,這些消息可能一直不可行。在json,web2py中追加flash消息

我正在使用簡單的字典呈現json。

感謝提前響應

回答

1

更新:

您可以使用generic.json視圖來回報您的JSON,並添加代碼視圖,包括在返回的JSON閃光燈消息:

{{from gluon.serializers import json}} 
{{response._vars.update(flash=response.flash)}} 
{{=XML(json(response._vars))}} 

請注意,默認情況下,通用視圖現在處於禁用狀態,因此您必須通過response.generic_patterns=['json']顯式啓用通用JSON視圖(理想情況下,您只應爲需要它的請求啓用通用視圖 - if它可用於不打算返回JSON的請求,它可以用於公開返回到無意暴露的視圖的數據)。您還可以通過response.view='generic.json'明確指定generic.json(或您想要給它的任何名稱)。

+0

我們應該在哪裏添加語句「response._vars.update(flash = response.flash)」? – w2lame

+0

對不起,我在看一箇舊版本的generic.json。我更新了上面的答案。嘗試將上面的代碼放在/views/generic.json中。 – Anthony

+0

在大多數函數中,我要返回dict元素,所以添加一個flash消息作爲變量,就像在字典中添加一個元素一樣好,如果以前它是'return dict(list = list)',只需將其更改爲'return dict(list = list,flash = response.flash)' –