That did it !
See what i mean about something obvious?
Thanks very much for your help on this.
You have been a terrific, and patient teacher.

sk


On Dec 14, 3:48 am, Frederick Cheung <[email protected]>
wrote:
> On 14 Dec 2011, at 09:12, skrite <[email protected]> wrote:
>
> > OK, i did try your example and the circles disappear, but never
> > update. Then, nothing. there are no errors in the inspect element of
> > chrome under the console, nothing updates, it just kinda freezes
> > there. I can see the queries being pulled in the webrick server logs.
> > a prettier image of the code is herehttp://pastie.org/3014696
> > (also more complete).
>
> Because you've called the parameter that is passed to you Ajax callback 
> 'response', you need response.responseJSON not request.responseJSON
> Stick a breakpoint in there to investigate further
> Fred
>
>
>
>
>
>
>
> > I know i am fumbling over something obvious here, but just cannot seem
> > to work it out.
>
> > when i use the request address update_mapv3_circles in a browser, this
> > is the response
> > [["35.931341","-102.32205",381.75,287.4,"AL","AL",
> > 557,"#7F7F7F","#FF0000",287.8,287.6,"AL<br>0 psi",0],
> > ["35.88125039","-102.3088989",525.0,83.4,"DC","DC",
> > 34280,"#7F7F7F","#FF0000",83.6,83.1,"DC<br>0 psi",0],
> > ["35.88125039","-102.3226989",525.0,81.7,"DC2","DC2",
> > 37241,"#000000","#FF0000",81.7,81.7,"DC2<br>0 psi",0],
> > ["35.92361","-102.308768",534.75,74.8,"J1","J1",
> > 559,"#7F7F7F","#FF0000",74.6,74.5,"J1<br>0 psi",0],
> > ["35.92332","-102.32096",493.5,261.0,"J2","J2",560,"#7F7F7F","#FF0000",
> > 261.0,261.0,"J2<br>0 psi",0],["35.931354","-102.31308",
> > 397.5,82.1,"SL1","SL1",561,"#7F7F7F","#FF0000",80.9,81.9,"SL1<br>0
> > psi",0],["35.931186","-102.304202",390.0,165.4,"SL2","SL2",
> > 110823130,"#7F7F7F","#FF0000",165.5,165.6,"SL2<br>0 psi",0],
> > ["35.938729","-102.29968",397.5,89.3,"SL4","SL4",
> > 563,"#7F7F7F","#FF0000",89.3,89.3,"SL4<br>0 psi",0],
> > ["35.931301","-102.29965",397.5,23.4,"SL5","SL5",
> > 564,"#7F7F7F","#FF0000",23.0,23.4,"SL5<br>0 psi",0],
> > ["35.924694","-102.299034",333.75,95.8,"SL6","SL6",
> > 7882,"#7F7F7F","#FF0000",95.8,95.8,"SL6<br>0 psi",0]]
>
> > in the view source of the website where <%= @mapped_sites.to_json %>
> > is , i have this
> > var sites = [["35.931341","-102.32205",381.75,287.4,"AL","AL",
> > 557,"#7F7F7F","#FF0000",287.8,287.6,"AL<br>0 psi",0],
> > ["35.88125039","-102.3088989",525.0,83.4,"DC","DC",
> > 34280,"#7F7F7F","#FF0000",83.6,83.1,"DC<br>0 psi",0],
> > ["35.88125039","-102.3226989",525.0,81.7,"DC2","DC2",
> > 37241,"#000000","#FF0000",81.7,81.7,"DC2<br>0 psi",0],
> > ["35.92361","-102.308768",534.75,74.8,"J1","J1",
> > 559,"#7F7F7F","#FF0000",74.6,74.5,"J1<br>0 psi",0],
> > ["35.92332","-102.32096",493.5,261.0,"J2","J2",560,"#7F7F7F","#FF0000",
> > 261.0,261.0,"J2<br>0 psi",0],["35.931354","-102.31308",
> > 397.5,82.1,"SL1","SL1",561,"#7F7F7F","#FF0000",80.9,81.9,"SL1<br>0
> > psi",0],["35.931186","-102.304202",390.0,165.4,"SL2","SL2",
> > 110823130,"#7F7F7F","#FF0000",165.5,165.6,"SL2<br>0 psi",0],
> > ["35.938729","-102.29968",397.5,89.3,"SL4","SL4",
> > 563,"#7F7F7F","#FF0000",89.3,89.3,"SL4<br>0 psi",0],
> > ["35.931301","-102.29965",397.5,23.4,"SL5","SL5",
> > 564,"#7F7F7F","#FF0000",23.0,23.4,"SL5<br>0 psi",0],
> > ["35.924694","-102.299034",333.75,95.8,"SL6","SL6",
> > 7882,"#7F7F7F","#FF0000",95.8,95.8,"SL6<br>0 psi",0]];
>
> > Anyway, thanks for all of your help so far, this is at least less
> > baffling to me than it was a couple of days ago.
>
> > sk
>
> > On Dec 14, 2:52 am, Frederick Cheung <[email protected]>
> > wrote:
> >> On 14 Dec 2011, at 05:47, skrite <[email protected]> wrote:
>
> >>> ok, even though the @mapped_sites.to_json works, the output of that
> >>> does not look like json. It looks like an array
>
> >> If my memory is correct, that's valid json too ( as are most literals). 
> >> It's common for the top level thing to be an object rather than an array, 
> >> but not mandatory. Since the thing you called to_json on was an array, you 
> >> got the json representation of an array back.
>
> >> To get the non text version of the response, like I said earlier look at 
> >> response.responseJSON
>
> >> Fred
>
> >>> example:
>
> >>> var sites = [["35.931341","-102.32205",381.75,288.0,"AL","AL",
> >>> 557,"#7F7F7F","#FF0000",287.1,288.3,"AL<br>0 psi",0],
> >>> ["35.88125039","-102.3088989",525.0,83.4,"DC","DC",
> >>> 34280,"#7F7F7F","#FF0000",83.1,83.3,"DC<br>0 psi",0],
> >>> ["35.88125039","-102.3226989",525.0,81.7,"DC2","DC2",
> >>> 37241,"#000000","#FF0000",81.7,81.7,"DC2<br>0 psi",0],
> >>> ["35.92361","-102.308768",534.75,73.7,"J1","J1",
> >>> 559,"#7F7F7F","#FF0000",74.7,73.8,"J1<br>0 psi",0],
> >>> ["35.92332","-102.32096",493.5,261.0,"J2","J2",560,"#7F7F7F","#FF0000",
> >>> 261.0,261.0,"J2<br>0 psi",0],["35.931354","-102.31308",
> >>> 397.5,80.8,"SL1","SL1",561,"#7F7F7F","#FF0000",81.3,81.9,"SL1<br>0
> >>> psi",0],["35.931186","-102.304202",390.0,165.2,"SL2","SL2",
> >>> 110823130,"#7F7F7F","#FF0000",165.4,165.6,"SL2<br>0 psi",0],
> >>> ["35.938729","-102.29968",397.5,89.3,"SL4","SL4",
> >>> 563,"#7F7F7F","#FF0000",89.3,89.3,"SL4<br>0 psi",0],
> >>> ["35.931301","-102.29965",397.5,23.7,"SL5","SL5",
> >>> 564,"#7F7F7F","#FF0000",23.9,23.0,"SL5<br>0 psi",0],
> >>> ["35.924694","-102.299034",333.75,95.8,"SL6","SL6",
> >>> 7882,"#7F7F7F","#FF0000",95.8,95.8,"SL6<br>0 psi",0]];
>
> >>> and the code seems to work with it like an array. How do i get the
> >>> responseText from the server as an array?
>
> >>> thanks again.
>
> >>> sk
>
> >>> On Dec 13, 4:08 pm, Frederick Cheung <[email protected]>
> >>> wrote:
> >>>> On 13 Dec 2011, at 19:54, skrite <[email protected]> wrote:
>
> >>>>> Jim.
>
> >>>>> You are correct, when i show typeof(sites) from when sites = <%=
> >>>>> @mapped_sites =>
> >>>>> i get object
> >>>>> when i do typeof(sites) after getting sites from the
> >>>>> url_that_returns_json
> >>>>> i get string
>
> >>>> responseText is always going to be text if I remember how prototype 
> >>>> handles thing (the text will just happen to be the string representation 
> >>>> of the json).
> >>>> If the response content-type was set correctly then 
> >>>> response.responseJson (or something like that) should be populated
>
> >>>> Fred
>
> >>>>> i suppose that i am not getting returned correctly.
> >>>>> if i look at the source of @mapped_sites
> >>>>> and from the browser look at url_that_returns_json,
> >>>>> they are identical.
>
> >>>>> thanks for your help, again.
> >>>>> I have learned a lot the last couple of days :)
>
> >>>>> On Dec 12, 6:22 pm, Jim Ruther Nill <[email protected]> wrote:
> >>>>>> On Tue, Dec 13, 2011 at 6:08 AM, skrite <[email protected]> wrote:
> >>>>>>> I am doing something similar here. The website is built on rails 2.3.9
> >>>>>>> and
> >>>>>>> uses prototype.
>
> >>>>>>> Almost all of what i need to happen does, but i get to the point where
> >>>>>>> the update happens and nothing does.
>
> >>>>>>> // add circles to map as it initializes
> >>>>>>>    addCircles(sites, map, markerArray, lineArray);
>
> >>>>>>>    var pe = new 
> >>>>>>> PeriodicalExecuter(refreshCircleMarkers.curry(markerArray,
> >>>>>>> lineArray, map), 33);
>
> >>>>>>> function refreshCircleMarkers(markerArray, lineArray, map) {
> >>>>>>>   // first we remove the existing markers in place
> >>>>>>>   for(i=0; i<markerArray.length; i++) {
> >>>>>>>     markerArray[i].setMap(null);
> >>>>>>>   }
>
> >>>>>>   // and empty the array itself>   markerArray = [];
>
> >>>>>>>   var url = "/group/update_mapv3_circles";
> >>>>>>>   new Ajax.Request(url, {
> >>>>>>>     method: 'get',
> >>>>>>>     onSuccess: function(response) {
> >>>>>>>       var sites = response.responseText;
> >>>>>>>       addCircles(sites, map, markerArray, lineArray);
> >>>>>>>     }
> >>>>>>>   });
>
> >>>>>> I see nothing wrong. Does the addCircles function expect a JSON
> >>>>>> object for the first param?  The only reason I can think why this isn't
> >>>>>> working
> >>>>>> is a type mismatch.
>
> >>>>>>> If i do an alert(response.responseText) the alert will show up and
> >>>>>>> display the contents of the @mapped_sites.to_json ( i am using
> >>>>>>> render :json => @mapped_sites.to_json in the controller).
> >>>>>>> Please let me know if you see something i am doing wrong.
> >>>>>>> Thanks for your help on this so far Jim.
>
> >>>>>>> sk
>
> >>>>>>> On Dec 9, 11:49 pm, Jim Ruther Nill <[email protected]> wrote:
> >>>>>>>> On Sat, Dec 10, 2011 at 3:56 AM, skrite <[email protected]> wrote:
> >>>>>>>>> I am intrigued by this solution, Jim.
> >>>>>>>>> i have a couple of questions, as it seems this is a cleaner way than
> >>>>>>>>> what I am trying to do.
> >>>>>>>>> The values that determine the circle color are in the database, and
> >>>>>>>>> can change while the page is loaded. This is why i need them to
> >>>>>>>>> update.
>
> >>>>>>>> i'll still go with my suggestion earlier.  To update the colors, just
> >>>>>>> update
> >>>>>>>> the sites variable after completing the ajax request and then call
> >>>>>>>> addCircles
>
> >>>>>>>> your ajax call may look like the following (this is totally untested 
> >>>>>>>> :D)
>
> >>>>>>>> $.ajax({
> >>>>>>>>   url: your_url_here_that_returns_json_equivalent_of_@mapped_sites,
> >>>>>>>>   success: function(data) {
> >>>>>>>>     addCircles(data);
> >>>>>>>>   }
>
> >>>>>>>> });
> >>>>>>>>> So, somehow i still need to go to the server for that. I guess i am
> >>>>>>>>> missing the part about how to get the @mapped_sites variable to the
> >>>>>>>>> controller and back again to the page to rebuild the circles.
> >>>>>>>>> Thanks for your time on this.
> >>>>>>>>> sk
>
> >>>>>>>>> On Dec 9, 9:48 am, Jim Ruther Nill <[email protected]> wrote:
> >>>>>>>>>> On Fri, Dec 9, 2011 at 11:04 PM, skrite <[email protected]> wrote:
> >>>>>>>>>>> Hey, thanks for these links, very helpful.
> >>>>>>>>>>> -sk
>
> >>>>>>>>>>> On Dec 8, 7:49 pm, "L.Karthikeyan" <[email protected]> wrote:
> >>>>>>>>>>>> Hi,
>
> >>>>>>>>>>>>       For this you need to use rjs Ajax request. Please refer the
> >>>>>>>>>>>> following links, you will get an idea.
>
> >>>>>>>>>>>> 1.http://railscasts.com/episodes/43-ajax-with-rjs?autoplay=true,
> >>>>>>>>>>>> 2.
> >>>>>>>>>http://railscasts.com/episodes/229-polling-for-changes?autoplay=true
>
> >>>>>>>>>> one more option is to keep @mapped_sites to a javascript variable 
> >>>>>>>>>> so
> >>>>>>> you
> >>>>>>>>>> dont have to use ajax.  you might also want to move the makeMarker
>
> ...
>
> read more »

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to