Marius Dumitru Florea wrote:
> Hi Jeremie,
> 
> Jeremie BOUSQUET wrote:
>> Hello & thx Sergiu,
>>
>> I changed to json content-type, and responseJSON as you proposed.
>>
>> I checked that my GET request is 200 OK, and in the response the JSON tab in
>> Firebug shows well formed JSON. But still my json variable is empty at
>> execution time !
>> By the way if I breakpoint on or before the Ajax.Request() and step over the
>> code, the json variable gets properly initiated and executed. Where it's
>> used afterwards, it's perfectly well formed.
>>
>> I also added url parameters as 'parameters' of Ajax.Request instead of
>> directly in the url but no change.
>>
> 
>> Could it be a problem in the way I pass my json variable ? Declared outside
>> of Ajax.Request(...) ? It must be something really stupid but I just don't
>> understand ...
> 
> Assign a default value to your json variable before making the request 
> then invoke the Firebug debugger in your onSuccess handler by simply 
> writing:
> 
> debugger;
> 
> before the response assignation. Refresh the page and check if your json 
> variable has the default value before being assigned with the JSON 
> response and if the response if evaluated correctly. If all this is fine 
> then maybe your json variable is affected elsewhere.

As you know, A in AJAX comes from Asynchronous so don't use your json 
variable before the response is received, i.e. before the onSuccess 
handler is called.

> 
> Hope this helps,
> Marius
> 
>> Jeremie
>>
>> 2010/3/2 Sergiu Dumitriu <ser...@xwiki.com>
>>
>>> On 03/02/2010 01:15 AM, Jeremie BOUSQUET wrote:
>>>> Hello,
>>>>
>>>> This is for something I'm trying to develop ... And I'm not sure it has
>>>> something to do with XWiki, but who knows ?
>>>>
>>>> In a page I call a particular init() function like this :
>>>>
>>>> Event.observe(window, "load", init);
>>>>
>>>> This init() aims at loading some JSON data from another page using Ajax.
>>> I
>>>> was inspired by the livetable.js here :-)
>>>>
>>>> var json = ""
>>>> var ajx=new Ajax.Request(  "
>>>>
>>> http://localhost:8081/xwiki/bin/view/Dev/JSONProvider?xpage=plain&outputSyntax=plain
>>> ",
>>>
>>> You should use what Prototype already offers:
>>> - set the proper MIME type for the response from velocity, with
>>> $response.setContentType('application/json')
>>> - write well formed JSON (also include the ( and ) that you append
>>> before the eval in your current code
>>> - use transport.responseJSON to read the already parsed JSON data
>>>
>>>>     {method:"get",    onSuccess:function(transport)  {  json =
>>>> eval("("+transport.responseText+")");  }
>>>>     }
>>>> )
>>>>
>>>> This Javascript is in a .js file along with other resources on the server
>>>> filesystem. It is loaded with $xwiki.jsfx.use(...) .
>>>> When I debug step by step using Firebug, everything is fine, "json"
>>> variable
>>>> contains what I expect.
>>>> But when I'm not debugging and refresh the page, "json" variable is empty
>>>> ... (breakpointing AFTER ajax call shows it). Though I can see in Firebug
>>>> that my Ajax http request finished with a 200 OK code.
>>> Can you also check the content of the response, to see if it's well
>>> formed JSON? If you also set the right MIME type, then Firebug should
>>> provide a tab with the JSON data of the response (depends on the actual
>>> Firebug version).
>>>
>>>> Do you think it might be linked to the fact this method is called on page
>>>> load ? I can't see how it's different than other ajax calls in xwiki ...
>>> --
>>> Sergiu Dumitriu
>>> http://purl.org/net/sergiu/
>>> _______________________________________________
>>> users mailing list
>>> users@xwiki.org
>>> http://lists.xwiki.org/mailman/listinfo/users
>>>
>> _______________________________________________
>> users mailing list
>> users@xwiki.org
>> http://lists.xwiki.org/mailman/listinfo/users
> _______________________________________________
> users mailing list
> users@xwiki.org
> http://lists.xwiki.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to