Ah, bad paste with the form html. There is in fact a <div id="quick- sign-in" style="display: none;" /> immediately wrapping it.
On May 4, 9:52 am, "phil.h.smith" <phil.h.sm...@gmail.com> wrote: > This is my code, with a few alerts dropped in: > > on('#quick-sign-in form', 'submit', function(event) { > var form = event.element(); > event.stop(); > form.request({ > on302: function(response) { > alert('Got 302. headers: ' + response.getAllHeaders()); > var redirect = response.getHeader('Location'); > if (redirect != null) { > window.location = redirect; > } else { > alert("There is no Location header."); > } > }, > onFailure: function(response) { > $('quick-sign-in').shake(); > } > }); > > }); > > The form: > > <form action="/session" method="post"><div style="margin:0;padding:0"> > <input name="authenticity_token" type="hidden" > value="pzDitlV1b6zdnIzbcgvZkOdokxOFKwaSNafKT8NuPow=" /></div> > <fieldset> > > <label for="openid_url">OpenID</label> > <input id="quick-sign-in-textbox" name="openid_url" type="text" > value="" /> > > </fieldset> > </form> > > On submission, I see the two alerts ('Got 302' and 'There is no > Location header'.) Additionally, the response.getAllHeaders() outputs > as an empty string. This is in prototype 1.6.0.3, which comes canned > inside rails 2.3.2. > > On May 4, 1:50 am, "T.J. Crowder" <t...@crowdersoftware.com> wrote: > > > Hi, > > > XHR follows redirects automatically, are you _sure_ the response > > object you're getting back in your handler has a 302 status? Or is > > that just what you're seeing in your sniff? This code: > > > * * * * > > new Ajax.Request("redirect.jsp", { > > on302: function(response) { > > log("Got 302 response."); > > }, > > onSuccess: function(response) { > > log("Got success, code = " + response.status); > > $('target').update(response.responseText); > > }, > > onFailure: function(response) { > > log("Got failure, code = " + response.status); > > }, > > onComplete: function(response) { > > log("Got completion, code = " + response.status); > > }}); > > > * * * * > > (Also on Pastie:http://pastie.org/467401) > > > ...works as expected: The on302 never gets called, the onSuccess gets > > called with status 200 (and with correct content in > > response.responseText), as does the onComplete. My redirect.jsp is > > issuing a redirect to a static HTML file, which is the content I see. > > In Firebug's Net tab, I see the 302 response followed by the GET of > > the static HTML file; it's the result of that second GET that I see at > > the XHR layer. > > > If that doesn't explain what you're seeing, can you put together a > > minimalist, complete example of what you're doing and post it (perhaps > > to Pastie[1])? > > > [1]http://pastie.org > > > HTH, > > -- > > T.J. Crowder > > tj / crowder software / com > > Independent Software Engineer, consulting services available > > > On May 3, 9:18 pm, "phil.h.smith" <phil.h.sm...@gmail.com> wrote: > > > > Hellos! > > > > Does anyone know about any outstanding issues with retrieving response > > > headers from ajax requests? I'm submitting a form by ajax & expect to > > > get a redirect on success. I see the 302 status code indicating the > > > redirect, but in both camino (1.6.7) & firefox (3.0.10) prototype > > > can't access the Location header in the response. In fact, it can't > > > access any headers. And getAllHeaders() returns nothing. > > > > I know it's not an issue with my server (http sniffing proved that > > > many headers, including Location, are in fact sent.) Does anyone have > > > an idea why prototype wouldn't able to access these ajax response > > > headers? > > > > Thanks! > > > --phil-- --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---