You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Jeremy Levy <je...@gmail.com> on 2011/05/02 14:26:51 UTC

Re: POST path via Ajax erratically invalid when used with #

It happens consistently in Chrome and the fix is to clear cookies /
JSESSIONID... Can you be more specific in the javascript where the relative
path is assembled I can't find it... ?

On Fri, Apr 29, 2011 at 3:10 AM, Martin Grigorov <mg...@apache.org>wrote:

> See wicketSubmitFormById() and wicketAjaxPost() in wicket-ajax.js
>
> On Fri, Apr 29, 2011 at 12:59 AM, Jeremy Levy <je...@gmail.com> wrote:
> > I've noticed that in 1.4.17 in some circumstances when using Wicket to
> POST
> > data over AJAX the path it's POSTing to tries to include the value after
> #
> > in the URL.
> >
> > For example on a page with a URL like http://foo.bar/MyPage#oneWicket-Ajax
> > attempts to POST to http://foo.bar/MyPageone.
> >
> > I'm having trouble using the debugger to nail down where in the JS this
> is
> > happening, can someone help point me to the function?
> >
> > Jeremy
> >
> > --
> > Jeremy Levy
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>


-- 
Jeremy Levy

Re: POST path via Ajax erratically invalid when used with #

Posted by Jeremy Levy <je...@gmail.com>.
Thanks for the reply, as I already mentioned I've tried running this in the
debugger in Chrome but it's not clear to me where the HOST part of the URL
is being generated all I see is the path.

The full URL that is getting posted to is:

http://mobile/MyPagescreen-two?x=1cBpJXjtIYZljhKs29abIqj8*YDCtKbjg*TV2waFYQRLE*9vNYy87LLwY1SctZ0Ck8iPyZttk0qfiInaa9kSd98b1moKXZbN-yjDEBXqdDnU4WkRPLW5AA&random=0.7044208080042154<http://mobile/webkitregscreen-two?x=1cBpJXjtIYZljhKs29abIqj8*YDCtKbjg*TV2waFYQRLE*9vNYy87LLwY1SctZ0Ck8iPyZttk0qfiInaa9kSd98b1moKXZbN-yjDEBXqdDnU4WkRPLW5AA&random=0.7044208080042154>

The mount is actually just /MyPage 'screen-two' is the value after the #,
the URL in the browser looks like http://mobile/MyPage#screen-two.

As you suggested I also tried
debugging org.apache.wicket.ajax.AjaxEventBehavior.generateCallbackScript(CharSequence),
but from what I can tell that generates the relative URL to POST to.
Ex: "var
wcall=wicketAjaxPost('?x=3NGhze8Hqqc*UOnOuxCljvnljwk0iN2tSqud8EMVbEweya7HhUn*6fgOmnCv6OwW',
wicketSerialize(Wicket.$('username101')),function() {
}.bind(this),function() { }.bind(this), function() {return
Wicket.$('username101') != null;}.bind(this));"

>From debugging the javascript, best I can follow is that the actual POST is
made at line 938: t.send(body);

However, looking at all the objects until that point still only describes
the url as ?x=
3NGhze8Hqqc*UOnOuxCljvnljwk0iN2tSqud8EMVbEweya7HhUn*6fgOmnCv6OwW.

What's interesting is that clearing the session seems to fix the problem
until I try it a second time.  It's also worthwhile to note that if I load
the page and include '/' at the end of the URL it works perfectly,
repeatedly.

It's still not clear to me where the http://xxx/xxx or BaseURL comes from in
the wicket JS, is that a function of XMLHttpRequest?  location.href
references the correct Host..

Any ideas or insights?





On Mon, May 2, 2011 at 8:32 AM, Martin Grigorov <mg...@apache.org>wrote:

> I am not aware of any logic in wicket-ajax.js which changes the url
> passed from the server side.
> See
> org.apache.wicket.ajax.AjaxEventBehavior.generateCallbackScript(CharSequence)
>
> I gave you the names of the JavaScript functions which trigger the
> form submit. Use Chrome Developer Tools to debug the JavaScript and
> see where the url gets broken.
>
> On Mon, May 2, 2011 at 2:26 PM, Jeremy Levy <je...@gmail.com> wrote:
> > It happens consistently in Chrome and the fix is to clear cookies /
> > JSESSIONID... Can you be more specific in the javascript where the
> relative
> > path is assembled I can't find it... ?
> >
> > On Fri, Apr 29, 2011 at 3:10 AM, Martin Grigorov <mgrigorov@apache.org
> >wrote:
> >
> >> See wicketSubmitFormById() and wicketAjaxPost() in wicket-ajax.js
> >>
> >> On Fri, Apr 29, 2011 at 12:59 AM, Jeremy Levy <je...@gmail.com> wrote:
> >> > I've noticed that in 1.4.17 in some circumstances when using Wicket to
> >> POST
> >> > data over AJAX the path it's POSTing to tries to include the value
> after
> >> #
> >> > in the URL.
> >> >
> >> > For example on a page with a URL like
> http://foo.bar/MyPage#oneWicket-Ajax
> >> > attempts to POST to http://foo.bar/MyPageone.
> >> >
> >> > I'm having trouble using the debugger to nail down where in the JS
> this
> >> is
> >> > happening, can someone help point me to the function?
> >> >
> >> > Jeremy
> >> >
> >> > --
> >> > Jeremy Levy
> >> >
> >>
> >>
> >>
> >> --
> >> Martin Grigorov
> >> jWeekend
> >> Training, Consulting, Development
> >> http://jWeekend.com
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> >> For additional commands, e-mail: users-help@wicket.apache.org
> >>
> >>
> >
> >
> > --
> > Jeremy Levy
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>


-- 
Jeremy Levy

Re: POST path via Ajax erratically invalid when used with #

Posted by Martin Grigorov <mg...@apache.org>.
I am not aware of any logic in wicket-ajax.js which changes the url
passed from the server side.
See org.apache.wicket.ajax.AjaxEventBehavior.generateCallbackScript(CharSequence)

I gave you the names of the JavaScript functions which trigger the
form submit. Use Chrome Developer Tools to debug the JavaScript and
see where the url gets broken.

On Mon, May 2, 2011 at 2:26 PM, Jeremy Levy <je...@gmail.com> wrote:
> It happens consistently in Chrome and the fix is to clear cookies /
> JSESSIONID... Can you be more specific in the javascript where the relative
> path is assembled I can't find it... ?
>
> On Fri, Apr 29, 2011 at 3:10 AM, Martin Grigorov <mg...@apache.org>wrote:
>
>> See wicketSubmitFormById() and wicketAjaxPost() in wicket-ajax.js
>>
>> On Fri, Apr 29, 2011 at 12:59 AM, Jeremy Levy <je...@gmail.com> wrote:
>> > I've noticed that in 1.4.17 in some circumstances when using Wicket to
>> POST
>> > data over AJAX the path it's POSTing to tries to include the value after
>> #
>> > in the URL.
>> >
>> > For example on a page with a URL like http://foo.bar/MyPage#oneWicket-Ajax
>> > attempts to POST to http://foo.bar/MyPageone.
>> >
>> > I'm having trouble using the debugger to nail down where in the JS this
>> is
>> > happening, can someone help point me to the function?
>> >
>> > Jeremy
>> >
>> > --
>> > Jeremy Levy
>> >
>>
>>
>>
>> --
>> Martin Grigorov
>> jWeekend
>> Training, Consulting, Development
>> http://jWeekend.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
>
> --
> Jeremy Levy
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org