[
https://issues.apache.org/jira/browse/TAP5-2072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jochen Kemnade updated TAP5-2072:
---------------------------------
Attachment: piggyback-jsonarray.patch
I've attached a WIP patch, I'll need to add some tests of course but it should
alredy show the general idea.
> Tapestry "metadata" is not added to XHR response if event handler method
> return JSONArray
> -----------------------------------------------------------------------------------------
>
> Key: TAP5-2072
> URL: https://issues.apache.org/jira/browse/TAP5-2072
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.4
> Reporter: Jochen Kemnade
> Assignee: Jochen Kemnade
> Attachments: piggyback-jsonarray.patch
>
>
> For event handlers that return JSONObject, there is an entry _tapestry in the
> response object that contains additional resources or inits that are to be
> executed before passing the actual data to the success handler function.
> When an event handler method returns JSONArray, the resulting array is passed
> to the client as it is.
> The actual problem I have is that I want to add an alert init to the response.
> The issue could be addressed by wrapping JSONArray responses in a JSONObject,
> (e.g. {_tapestry:{...}, data: [...]}) and transforming it back on the client
> side. Probably, for the sake of consistency, it would even be best to to that
> with JSONObject responses too (e.g. {_tapestry:{...}, data: {...}}).
> However, that approach would lead to the problem that ResponseWrapper.text
> (representing an Object) doesn't match ResponseWrapper.json (an Array). By
> the way, there is also a mismatch between those properties for JSONObject
> responses that contain a _tapestry property: it is deleted in
> ResponseWrapper.json but stays in place within ResponseWrapper.text.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)