From what i've seen , the second option is the right one : i'm not returning
what the tree is expecting. In the begining i thought it was json but now is clear that's , as you said , javascript content.
I'll check the response builder to see if i can treat this somehow. On 12/17/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
I'd say that this is a bug in the tree controller. Tapestry "should not" be sending back any JSON data enclosed with "()". This represents a browser "quirck" and should be handled in the appropriate place - the browser. I'd bring it up with dojo, probably by filing a bug in http://trac.dojotoolkit.org . A mimetype of text/javascript means you are expecting javascript content such as "function foo(){} " - json mimetype is for object structures that need to be evaluated in line. Either the tree is incorrectly using javascript mimetype when it should be using json or you aren't returning what the tree is expecting. On 12/17/06, Alexandru Dragomir <[EMAIL PROTECTED]> wrote: > Some good news. > In TreeLoadingControllerV3.js , runRpc , the mimetype is set as > "text/javascript". > > In method doLoad from BrowserIO.js : > - if mimetype is "text/javascript" the method dj_eval(http.responseText ); > is called > - if mimetype is "*/json" the method dj_eval("("+http.responseText+")"); is > called > > So that's why the brackets are not added and must be set from the server.. > > A suggestion of how should i go on ? > Should i build a custom ReponseBuilder that treats the text/javascript > mimetype ? Would be beter to be in the framework.. ? > > Alex > > > > > > On 12/17/06, Alexandru Dragomir <[EMAIL PROTECTED]> wrote: > > > > I've been looking into TreeRpcControllerV3.js and TreeEditor.js for the > > place where the response is handled , but i haven't got any result beside a > > headache.. :) > > > > Any suggestion is welcome ! > > > > Alex > > > > > > On 12/17/06, Alexandru Dragomir <[EMAIL PROTECTED]> wrote: > > > > > > I tried it but is still not working. > > > > > > But i found something else. I manage to hook the JSONWriterImpl and send > > > whatever plain text i want to the client. > > > When i send the string : ({title: 'a new title'}) is working. > > > When i send the string : {title: 'a new title'} is not working. > > > > > > So the conclusion is that the brackets "()" must be sent. > > > > > > Is this the way the widget should work ? > > > Maybe i should put this question to dojo list ? > > > > > > thanks! > > > Alex > > > > > > On 12/16/06, Jesse Kuhnert < [EMAIL PROTECTED]> wrote: > > > > > > > > Maybe the tree widget is expecting a json array vs object being > > > > returned...Ie ["title","a new title"]. You can do that easily by doing > > > > this instead: > > > > > > > > JSONArray arr = writer.array(); > > > > arr.put ("title"); > > > > arr.put("a new title"); > > > > > > > > > > > > > > > > On 12/16/06, Jesse Kuhnert <[EMAIL PROTECTED] > wrote: > > > > > Yes, that should be fine. It is a perfectly valid JSON response. > > > > There > > > > > aren't too many ways to vary it. > > > > > > > > > > On 12/16/06, Alexandru Dragomir <[EMAIL PROTECTED] > wrote: > > > > > > ok, then i might be doing something else wrong.. > > > > > > Is the tree widget. > > > > > > And now i'm at editing a node label phase. > > > > > > I edit , press enter , and the response received is {"title" : "a > > > > new > > > > > > title"} without other brackets. > > > > > > > > > > > > The render method is > > > > > > public void renderComponent(IJSONWriter writer, IRequestCycle > > > > cycle) > > > > > > { > > > > > > > > > > > > JSONObject json = writer.object(); > > > > > > json.put("title", "a new title"); > > > > > > } > > > > > > > > > > > > Alex > > > > > > > > > > > > > > > > > > On 12/16/06, Jesse Kuhnert < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > Quoting/not quoting a response should have nothing to do with it > > > > being > > > > > > > valid JSON. Nor should a response contain the surrounding "(" > > > > content > > > > > > > ")". > > > > > > > > > > > > > > I'd be interested in knowing which dojo widget this is but if > > > > it's > > > > > > > using dojo.io as the transport layer it should be adding in the > > > > "(" > > > > > > > for you. > > > > > > > > > > > > > > On 12/16/06, Alexandru Dragomir <[EMAIL PROTECTED] > > > > > wrote: > > > > > > > > I'm working on a component that expects a json response (.. > > > > frankly , > > > > > > > i'm > > > > > > > > not sure anymore about this) > > > > > > > > > > > > > > > > Is a dojo widget that i'm trying to convert into tapestry. > > > > > > > > > > > > > > > > A valid response would be : > > > > > > > > > > > > > > > > ({title: "a new title"}) > > > > > > > > > > > > > > > > or even > > > > > > > > > > > > > > > > dojo.debug("server gave a new title"); ({title: "a new > > > > title"}) > > > > > > > > > > > > > > > > The problem is that using the JSONWriter i get something like > > > > : > > > > > > > > > > > > > > > > {"title" : "a new title"} -> the title is quoted and i think > > > > that is why > > > > > > > i > > > > > > > > get an error saying SyntaxError: invalid label > > > > > > > > > > > > > > > > If i don't use JSON response , i use XML , which is not good > > > > either. > > > > > > > > > > > > > > > > Any suggestion of what i'm doing wrong ? > > > > > > > > Should i build a custom ResponseBuilder or Writer ? > > > > > > > > > > > > > > > > thanks! > > > > > > > > Alex > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Jesse Kuhnert > > > > > > > Tapestry/Dojo team member/developer > > > > > > > > > > > > > > Open source based consulting work centered around > > > > > > > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Jesse Kuhnert > > > > > Tapestry/Dojo team member/developer > > > > > > > > > > Open source based consulting work centered around > > > > > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com > > > > > > > > > > > > > > > > > -- > > > > Jesse Kuhnert > > > > Tapestry/Dojo team member/developer > > > > > > > > Open source based consulting work centered around > > > > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]