You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by James Selvakumar <ja...@mcruncher.com> on 2017/01/18 08:51:34 UTC
Error while calling Wicket from a JavaScript function
Dear Wicket team,
I need to make a call to a Wicket page from my JavaScript function.
I followed the guide Calling Wicket from Javascript
<https://cwiki.apache.org/confluence/display/WICKET/Calling+Wicket+from+Javascript>
and managed to define an ajax behavior to respond to the JavaScript call.
My ajax behavior looks like this:
> private final AbstractDefaultAjaxBehavior behave = new AbstractDefaultAjaxBehavior()
> {
> protected void respond(final AjaxRequestTarget target)
> {
> LOGGER.debug("Received a request from client to get the encryption key");
> target.add(new Label("foo", "Yeah I was just called from Javascript!"));
> }
>
> public void renderHead(Component component, IHeaderResponse response)
> {
> super.renderHead(component, response);
> String callbackUrl = getCallbackUrl().toString();
> response.render(JavaScriptHeaderItem.forScript("var callbackUrl='" + callbackUrl + "';", "values"));
> }
> };
>
> This callback url got rendered in the page like this:
<script id="values" type="text/javascript">
> /*<![CDATA[*/
> var callbackUrl='./wicket/page?0-1.IBehaviorListener.0-';
> /*]]>*/
> </script>
>
And here is my JavaScript code:
> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> alert(wcall);
>
> But I'm getting the following error in the Wicket Ajax Debug Window:
*An error occurred while executing Ajax request:TypeError: a is undefined*
>
Can someone point out what's the mistake here?
--
Thanks & regards
James
Re: Error while calling Wicket from a JavaScript function
Posted by James Selvakumar <ja...@mcruncher.com>.
Thanks for the clear explanation Martin.
On Wed, Jan 18, 2017, 8:30 PM Martin Grigorov <mg...@apache.org> wrote:
> On Wed, Jan 18, 2017 at 10:35 AM, James Selvakumar <ja...@mcruncher.com>
> wrote:
>
> > Hi Martin,
> >
> > Is it possible to return a value from the ajax behavior while responding
> to
> > the ajax call?
> > I'm trying to do something like this in the server side:
> >
> > target.appendJavaScript("foo");
> > >
> >
> > And then try to use it in my JavaScript:
> >
> > var foo = Wicket.Ajax.get({ u: window.callbackUrl });
> >
>
> .get() makes an Ajax call, so it doesn't return a value
> You can use the callback methods (complete, success, failure) to get the
> returned response from the server
>
> But I think you don't need to use 'foo' from the server as a variable.
> You really need: target.appendJavaScript("doNextStep(foo)")
> I.e. execute something else once the Ajax call returns
>
>
>
> > > //do some processing with foo
> > >
> >
> > Is this valid? Or is there a better way?
> >
> >
> >
> > On Wed, Jan 18, 2017 at 5:26 PM, James Selvakumar <ja...@mcruncher.com>
> > wrote:
> >
> > > Thanks a lot Martin. You're right. I had something else in my code and
> > > after I fixed it, I managed to make a ajax call from JavaScript.
> > >
> > > On Wed, Jan 18, 2017 at 5:07 PM, Martin Grigorov <mgrigorov@apache.org
> >
> > > wrote:
> > >
> > >> There is no variable named 'a' in your code snippet.
> > >> It might be another problem.
> > >>
> > >> Martin Grigorov
> > >> Wicket Training and Consulting
> > >> https://twitter.com/mtgrigorov
> > >>
> > >> On Wed, Jan 18, 2017 at 10:04 AM, James Selvakumar <
> james@mcruncher.com
> > >
> > >> wrote:
> > >>
> > >> > Hi Martin,
> > >> >
> > >> > I tried your suggestion but I'm still getting the same TypeError.
> > >> >
> > >> > On Wed, Jan 18, 2017 at 4:55 PM, James Selvakumar <
> > james@mcruncher.com>
> > >> > wrote:
> > >> >
> > >> > > Thanks Martin for the super fast reply. I'll try that out.
> > >> > >
> > >> > > On Wed, Jan 18, 2017 at 4:54 PM, Martin Grigorov <
> > >> mgrigorov@apache.org>
> > >> > > wrote:
> > >> > >
> > >> > >> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> > >> > >> should be
> > >> > >> var wcall = Wicket.Ajax.get({ u: window.callbackUrl });
> > >> > >>
> > >> > >> Martin Grigorov
> > >> > >> Wicket Training and Consulting
> > >> > >> https://twitter.com/mtgrigorov
> > >> > >>
> > >> > >> On Wed, Jan 18, 2017 at 9:51 AM, James Selvakumar <
> > >> james@mcruncher.com>
> > >> > >> wrote:
> > >> > >>
> > >> > >> > Dear Wicket team,
> > >> > >> >
> > >> > >> > I need to make a call to a Wicket page from my JavaScript
> > function.
> > >> > >> > I followed the guide Calling Wicket from Javascript
> > >> > >> > <https://cwiki.apache.org/confluence/display/WICKET/
> > >> > >> > Calling+Wicket+from+Javascript>
> > >> > >> > and managed to define an ajax behavior to respond to the
> > JavaScript
> > >> > >> call.
> > >> > >> >
> > >> > >> > My ajax behavior looks like this:
> > >> > >> >
> > >> > >> > > private final AbstractDefaultAjaxBehavior behave = new
> > >> > >> > AbstractDefaultAjaxBehavior()
> > >> > >> > > {
> > >> > >> > > protected void respond(final AjaxRequestTarget target)
> > >> > >> > > {
> > >> > >> > > LOGGER.debug("Received a request from client to get
> the
> > >> > >> > encryption key");
> > >> > >> > > target.add(new Label("foo", "Yeah I was just called
> > from
> > >> > >> > Javascript!"));
> > >> > >> > > }
> > >> > >> > >
> > >> > >> > > public void renderHead(Component component,
> IHeaderResponse
> > >> > >> response)
> > >> > >> > > {
> > >> > >> > > super.renderHead(component, response);
> > >> > >> > > String callbackUrl = getCallbackUrl().toString();
> > >> > >> > > response.render(JavaScriptHeaderItem.forScript("var
> > >> > >> > callbackUrl='" + callbackUrl + "';", "values"));
> > >> > >> > > }
> > >> > >> > > };
> > >> > >> > >
> > >> > >> > > This callback url got rendered in the page like this:
> > >> > >> >
> > >> > >> > <script id="values" type="text/javascript">
> > >> > >> > > /*<![CDATA[*/
> > >> > >> > > var callbackUrl='./wicket/page?0-1.IBehaviorListener.0-';
> > >> > >> > > /*]]>*/
> > >> > >> > > </script>
> > >> > >> > >
> > >> > >> >
> > >> > >> >
> > >> > >> > And here is my JavaScript code:
> > >> > >> >
> > >> > >> > > var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> > >> > >> > > alert(wcall);
> > >> > >> > >
> > >> > >> > > But I'm getting the following error in the Wicket Ajax Debug
> > >> Window:
> > >> > >> >
> > >> > >> > *An error occurred while executing Ajax request:TypeError: a is
> > >> > >> undefined*
> > >> > >> > >
> > >> > >> >
> > >> > >> > Can someone point out what's the mistake here?
> > >> > >> >
> > >> > >> > --
> > >> > >> > Thanks & regards
> > >> > >> > James
> > >> > >> >
> > >> > >>
> > >> > >
> > >> > >
> > >> > >
> > >> > > --
> > >> > > Thanks & regards
> > >> > > James Selvakumar
> > >> > >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > Thanks & regards
> > >> > James
> > >> >
> > >>
> > >
> > >
> > >
> > > --
> > > Thanks & regards
> > > James
> > >
> >
> >
> >
> > --
> > Thanks & regards
> > James
> >
>
Re: Error while calling Wicket from a JavaScript function
Posted by Martin Grigorov <mg...@apache.org>.
On Wed, Jan 18, 2017 at 10:35 AM, James Selvakumar <ja...@mcruncher.com>
wrote:
> Hi Martin,
>
> Is it possible to return a value from the ajax behavior while responding to
> the ajax call?
> I'm trying to do something like this in the server side:
>
> target.appendJavaScript("foo");
> >
>
> And then try to use it in my JavaScript:
>
> var foo = Wicket.Ajax.get({ u: window.callbackUrl });
>
.get() makes an Ajax call, so it doesn't return a value
You can use the callback methods (complete, success, failure) to get the
returned response from the server
But I think you don't need to use 'foo' from the server as a variable.
You really need: target.appendJavaScript("doNextStep(foo)")
I.e. execute something else once the Ajax call returns
> > //do some processing with foo
> >
>
> Is this valid? Or is there a better way?
>
>
>
> On Wed, Jan 18, 2017 at 5:26 PM, James Selvakumar <ja...@mcruncher.com>
> wrote:
>
> > Thanks a lot Martin. You're right. I had something else in my code and
> > after I fixed it, I managed to make a ajax call from JavaScript.
> >
> > On Wed, Jan 18, 2017 at 5:07 PM, Martin Grigorov <mg...@apache.org>
> > wrote:
> >
> >> There is no variable named 'a' in your code snippet.
> >> It might be another problem.
> >>
> >> Martin Grigorov
> >> Wicket Training and Consulting
> >> https://twitter.com/mtgrigorov
> >>
> >> On Wed, Jan 18, 2017 at 10:04 AM, James Selvakumar <james@mcruncher.com
> >
> >> wrote:
> >>
> >> > Hi Martin,
> >> >
> >> > I tried your suggestion but I'm still getting the same TypeError.
> >> >
> >> > On Wed, Jan 18, 2017 at 4:55 PM, James Selvakumar <
> james@mcruncher.com>
> >> > wrote:
> >> >
> >> > > Thanks Martin for the super fast reply. I'll try that out.
> >> > >
> >> > > On Wed, Jan 18, 2017 at 4:54 PM, Martin Grigorov <
> >> mgrigorov@apache.org>
> >> > > wrote:
> >> > >
> >> > >> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> >> > >> should be
> >> > >> var wcall = Wicket.Ajax.get({ u: window.callbackUrl });
> >> > >>
> >> > >> Martin Grigorov
> >> > >> Wicket Training and Consulting
> >> > >> https://twitter.com/mtgrigorov
> >> > >>
> >> > >> On Wed, Jan 18, 2017 at 9:51 AM, James Selvakumar <
> >> james@mcruncher.com>
> >> > >> wrote:
> >> > >>
> >> > >> > Dear Wicket team,
> >> > >> >
> >> > >> > I need to make a call to a Wicket page from my JavaScript
> function.
> >> > >> > I followed the guide Calling Wicket from Javascript
> >> > >> > <https://cwiki.apache.org/confluence/display/WICKET/
> >> > >> > Calling+Wicket+from+Javascript>
> >> > >> > and managed to define an ajax behavior to respond to the
> JavaScript
> >> > >> call.
> >> > >> >
> >> > >> > My ajax behavior looks like this:
> >> > >> >
> >> > >> > > private final AbstractDefaultAjaxBehavior behave = new
> >> > >> > AbstractDefaultAjaxBehavior()
> >> > >> > > {
> >> > >> > > protected void respond(final AjaxRequestTarget target)
> >> > >> > > {
> >> > >> > > LOGGER.debug("Received a request from client to get the
> >> > >> > encryption key");
> >> > >> > > target.add(new Label("foo", "Yeah I was just called
> from
> >> > >> > Javascript!"));
> >> > >> > > }
> >> > >> > >
> >> > >> > > public void renderHead(Component component, IHeaderResponse
> >> > >> response)
> >> > >> > > {
> >> > >> > > super.renderHead(component, response);
> >> > >> > > String callbackUrl = getCallbackUrl().toString();
> >> > >> > > response.render(JavaScriptHeaderItem.forScript("var
> >> > >> > callbackUrl='" + callbackUrl + "';", "values"));
> >> > >> > > }
> >> > >> > > };
> >> > >> > >
> >> > >> > > This callback url got rendered in the page like this:
> >> > >> >
> >> > >> > <script id="values" type="text/javascript">
> >> > >> > > /*<![CDATA[*/
> >> > >> > > var callbackUrl='./wicket/page?0-1.IBehaviorListener.0-';
> >> > >> > > /*]]>*/
> >> > >> > > </script>
> >> > >> > >
> >> > >> >
> >> > >> >
> >> > >> > And here is my JavaScript code:
> >> > >> >
> >> > >> > > var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> >> > >> > > alert(wcall);
> >> > >> > >
> >> > >> > > But I'm getting the following error in the Wicket Ajax Debug
> >> Window:
> >> > >> >
> >> > >> > *An error occurred while executing Ajax request:TypeError: a is
> >> > >> undefined*
> >> > >> > >
> >> > >> >
> >> > >> > Can someone point out what's the mistake here?
> >> > >> >
> >> > >> > --
> >> > >> > Thanks & regards
> >> > >> > James
> >> > >> >
> >> > >>
> >> > >
> >> > >
> >> > >
> >> > > --
> >> > > Thanks & regards
> >> > > James Selvakumar
> >> > >
> >> >
> >> >
> >> >
> >> > --
> >> > Thanks & regards
> >> > James
> >> >
> >>
> >
> >
> >
> > --
> > Thanks & regards
> > James
> >
>
>
>
> --
> Thanks & regards
> James
>
Re: Error while calling Wicket from a JavaScript function
Posted by James Selvakumar <ja...@mcruncher.com>.
Hi Martin,
Is it possible to return a value from the ajax behavior while responding to
the ajax call?
I'm trying to do something like this in the server side:
target.appendJavaScript("foo");
>
And then try to use it in my JavaScript:
var foo = Wicket.Ajax.get({ u: window.callbackUrl });
> //do some processing with foo
>
Is this valid? Or is there a better way?
On Wed, Jan 18, 2017 at 5:26 PM, James Selvakumar <ja...@mcruncher.com>
wrote:
> Thanks a lot Martin. You're right. I had something else in my code and
> after I fixed it, I managed to make a ajax call from JavaScript.
>
> On Wed, Jan 18, 2017 at 5:07 PM, Martin Grigorov <mg...@apache.org>
> wrote:
>
>> There is no variable named 'a' in your code snippet.
>> It might be another problem.
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Wed, Jan 18, 2017 at 10:04 AM, James Selvakumar <ja...@mcruncher.com>
>> wrote:
>>
>> > Hi Martin,
>> >
>> > I tried your suggestion but I'm still getting the same TypeError.
>> >
>> > On Wed, Jan 18, 2017 at 4:55 PM, James Selvakumar <ja...@mcruncher.com>
>> > wrote:
>> >
>> > > Thanks Martin for the super fast reply. I'll try that out.
>> > >
>> > > On Wed, Jan 18, 2017 at 4:54 PM, Martin Grigorov <
>> mgrigorov@apache.org>
>> > > wrote:
>> > >
>> > >> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
>> > >> should be
>> > >> var wcall = Wicket.Ajax.get({ u: window.callbackUrl });
>> > >>
>> > >> Martin Grigorov
>> > >> Wicket Training and Consulting
>> > >> https://twitter.com/mtgrigorov
>> > >>
>> > >> On Wed, Jan 18, 2017 at 9:51 AM, James Selvakumar <
>> james@mcruncher.com>
>> > >> wrote:
>> > >>
>> > >> > Dear Wicket team,
>> > >> >
>> > >> > I need to make a call to a Wicket page from my JavaScript function.
>> > >> > I followed the guide Calling Wicket from Javascript
>> > >> > <https://cwiki.apache.org/confluence/display/WICKET/
>> > >> > Calling+Wicket+from+Javascript>
>> > >> > and managed to define an ajax behavior to respond to the JavaScript
>> > >> call.
>> > >> >
>> > >> > My ajax behavior looks like this:
>> > >> >
>> > >> > > private final AbstractDefaultAjaxBehavior behave = new
>> > >> > AbstractDefaultAjaxBehavior()
>> > >> > > {
>> > >> > > protected void respond(final AjaxRequestTarget target)
>> > >> > > {
>> > >> > > LOGGER.debug("Received a request from client to get the
>> > >> > encryption key");
>> > >> > > target.add(new Label("foo", "Yeah I was just called from
>> > >> > Javascript!"));
>> > >> > > }
>> > >> > >
>> > >> > > public void renderHead(Component component, IHeaderResponse
>> > >> response)
>> > >> > > {
>> > >> > > super.renderHead(component, response);
>> > >> > > String callbackUrl = getCallbackUrl().toString();
>> > >> > > response.render(JavaScriptHeaderItem.forScript("var
>> > >> > callbackUrl='" + callbackUrl + "';", "values"));
>> > >> > > }
>> > >> > > };
>> > >> > >
>> > >> > > This callback url got rendered in the page like this:
>> > >> >
>> > >> > <script id="values" type="text/javascript">
>> > >> > > /*<![CDATA[*/
>> > >> > > var callbackUrl='./wicket/page?0-1.IBehaviorListener.0-';
>> > >> > > /*]]>*/
>> > >> > > </script>
>> > >> > >
>> > >> >
>> > >> >
>> > >> > And here is my JavaScript code:
>> > >> >
>> > >> > > var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
>> > >> > > alert(wcall);
>> > >> > >
>> > >> > > But I'm getting the following error in the Wicket Ajax Debug
>> Window:
>> > >> >
>> > >> > *An error occurred while executing Ajax request:TypeError: a is
>> > >> undefined*
>> > >> > >
>> > >> >
>> > >> > Can someone point out what's the mistake here?
>> > >> >
>> > >> > --
>> > >> > Thanks & regards
>> > >> > James
>> > >> >
>> > >>
>> > >
>> > >
>> > >
>> > > --
>> > > Thanks & regards
>> > > James Selvakumar
>> > >
>> >
>> >
>> >
>> > --
>> > Thanks & regards
>> > James
>> >
>>
>
>
>
> --
> Thanks & regards
> James
>
--
Thanks & regards
James
Re: Error while calling Wicket from a JavaScript function
Posted by James Selvakumar <ja...@mcruncher.com>.
Thanks a lot Martin. You're right. I had something else in my code and
after I fixed it, I managed to make a ajax call from JavaScript.
On Wed, Jan 18, 2017 at 5:07 PM, Martin Grigorov <mg...@apache.org>
wrote:
> There is no variable named 'a' in your code snippet.
> It might be another problem.
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Wed, Jan 18, 2017 at 10:04 AM, James Selvakumar <ja...@mcruncher.com>
> wrote:
>
> > Hi Martin,
> >
> > I tried your suggestion but I'm still getting the same TypeError.
> >
> > On Wed, Jan 18, 2017 at 4:55 PM, James Selvakumar <ja...@mcruncher.com>
> > wrote:
> >
> > > Thanks Martin for the super fast reply. I'll try that out.
> > >
> > > On Wed, Jan 18, 2017 at 4:54 PM, Martin Grigorov <mgrigorov@apache.org
> >
> > > wrote:
> > >
> > >> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> > >> should be
> > >> var wcall = Wicket.Ajax.get({ u: window.callbackUrl });
> > >>
> > >> Martin Grigorov
> > >> Wicket Training and Consulting
> > >> https://twitter.com/mtgrigorov
> > >>
> > >> On Wed, Jan 18, 2017 at 9:51 AM, James Selvakumar <
> james@mcruncher.com>
> > >> wrote:
> > >>
> > >> > Dear Wicket team,
> > >> >
> > >> > I need to make a call to a Wicket page from my JavaScript function.
> > >> > I followed the guide Calling Wicket from Javascript
> > >> > <https://cwiki.apache.org/confluence/display/WICKET/
> > >> > Calling+Wicket+from+Javascript>
> > >> > and managed to define an ajax behavior to respond to the JavaScript
> > >> call.
> > >> >
> > >> > My ajax behavior looks like this:
> > >> >
> > >> > > private final AbstractDefaultAjaxBehavior behave = new
> > >> > AbstractDefaultAjaxBehavior()
> > >> > > {
> > >> > > protected void respond(final AjaxRequestTarget target)
> > >> > > {
> > >> > > LOGGER.debug("Received a request from client to get the
> > >> > encryption key");
> > >> > > target.add(new Label("foo", "Yeah I was just called from
> > >> > Javascript!"));
> > >> > > }
> > >> > >
> > >> > > public void renderHead(Component component, IHeaderResponse
> > >> response)
> > >> > > {
> > >> > > super.renderHead(component, response);
> > >> > > String callbackUrl = getCallbackUrl().toString();
> > >> > > response.render(JavaScriptHeaderItem.forScript("var
> > >> > callbackUrl='" + callbackUrl + "';", "values"));
> > >> > > }
> > >> > > };
> > >> > >
> > >> > > This callback url got rendered in the page like this:
> > >> >
> > >> > <script id="values" type="text/javascript">
> > >> > > /*<![CDATA[*/
> > >> > > var callbackUrl='./wicket/page?0-1.IBehaviorListener.0-';
> > >> > > /*]]>*/
> > >> > > </script>
> > >> > >
> > >> >
> > >> >
> > >> > And here is my JavaScript code:
> > >> >
> > >> > > var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> > >> > > alert(wcall);
> > >> > >
> > >> > > But I'm getting the following error in the Wicket Ajax Debug
> Window:
> > >> >
> > >> > *An error occurred while executing Ajax request:TypeError: a is
> > >> undefined*
> > >> > >
> > >> >
> > >> > Can someone point out what's the mistake here?
> > >> >
> > >> > --
> > >> > Thanks & regards
> > >> > James
> > >> >
> > >>
> > >
> > >
> > >
> > > --
> > > Thanks & regards
> > > James Selvakumar
> > >
> >
> >
> >
> > --
> > Thanks & regards
> > James
> >
>
--
Thanks & regards
James
Re: Error while calling Wicket from a JavaScript function
Posted by Martin Grigorov <mg...@apache.org>.
There is no variable named 'a' in your code snippet.
It might be another problem.
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov
On Wed, Jan 18, 2017 at 10:04 AM, James Selvakumar <ja...@mcruncher.com>
wrote:
> Hi Martin,
>
> I tried your suggestion but I'm still getting the same TypeError.
>
> On Wed, Jan 18, 2017 at 4:55 PM, James Selvakumar <ja...@mcruncher.com>
> wrote:
>
> > Thanks Martin for the super fast reply. I'll try that out.
> >
> > On Wed, Jan 18, 2017 at 4:54 PM, Martin Grigorov <mg...@apache.org>
> > wrote:
> >
> >> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> >> should be
> >> var wcall = Wicket.Ajax.get({ u: window.callbackUrl });
> >>
> >> Martin Grigorov
> >> Wicket Training and Consulting
> >> https://twitter.com/mtgrigorov
> >>
> >> On Wed, Jan 18, 2017 at 9:51 AM, James Selvakumar <ja...@mcruncher.com>
> >> wrote:
> >>
> >> > Dear Wicket team,
> >> >
> >> > I need to make a call to a Wicket page from my JavaScript function.
> >> > I followed the guide Calling Wicket from Javascript
> >> > <https://cwiki.apache.org/confluence/display/WICKET/
> >> > Calling+Wicket+from+Javascript>
> >> > and managed to define an ajax behavior to respond to the JavaScript
> >> call.
> >> >
> >> > My ajax behavior looks like this:
> >> >
> >> > > private final AbstractDefaultAjaxBehavior behave = new
> >> > AbstractDefaultAjaxBehavior()
> >> > > {
> >> > > protected void respond(final AjaxRequestTarget target)
> >> > > {
> >> > > LOGGER.debug("Received a request from client to get the
> >> > encryption key");
> >> > > target.add(new Label("foo", "Yeah I was just called from
> >> > Javascript!"));
> >> > > }
> >> > >
> >> > > public void renderHead(Component component, IHeaderResponse
> >> response)
> >> > > {
> >> > > super.renderHead(component, response);
> >> > > String callbackUrl = getCallbackUrl().toString();
> >> > > response.render(JavaScriptHeaderItem.forScript("var
> >> > callbackUrl='" + callbackUrl + "';", "values"));
> >> > > }
> >> > > };
> >> > >
> >> > > This callback url got rendered in the page like this:
> >> >
> >> > <script id="values" type="text/javascript">
> >> > > /*<![CDATA[*/
> >> > > var callbackUrl='./wicket/page?0-1.IBehaviorListener.0-';
> >> > > /*]]>*/
> >> > > </script>
> >> > >
> >> >
> >> >
> >> > And here is my JavaScript code:
> >> >
> >> > > var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> >> > > alert(wcall);
> >> > >
> >> > > But I'm getting the following error in the Wicket Ajax Debug Window:
> >> >
> >> > *An error occurred while executing Ajax request:TypeError: a is
> >> undefined*
> >> > >
> >> >
> >> > Can someone point out what's the mistake here?
> >> >
> >> > --
> >> > Thanks & regards
> >> > James
> >> >
> >>
> >
> >
> >
> > --
> > Thanks & regards
> > James Selvakumar
> >
>
>
>
> --
> Thanks & regards
> James
>
Re: Error while calling Wicket from a JavaScript function
Posted by James Selvakumar <ja...@mcruncher.com>.
Hi Martin,
I tried your suggestion but I'm still getting the same TypeError.
On Wed, Jan 18, 2017 at 4:55 PM, James Selvakumar <ja...@mcruncher.com>
wrote:
> Thanks Martin for the super fast reply. I'll try that out.
>
> On Wed, Jan 18, 2017 at 4:54 PM, Martin Grigorov <mg...@apache.org>
> wrote:
>
>> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
>> should be
>> var wcall = Wicket.Ajax.get({ u: window.callbackUrl });
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Wed, Jan 18, 2017 at 9:51 AM, James Selvakumar <ja...@mcruncher.com>
>> wrote:
>>
>> > Dear Wicket team,
>> >
>> > I need to make a call to a Wicket page from my JavaScript function.
>> > I followed the guide Calling Wicket from Javascript
>> > <https://cwiki.apache.org/confluence/display/WICKET/
>> > Calling+Wicket+from+Javascript>
>> > and managed to define an ajax behavior to respond to the JavaScript
>> call.
>> >
>> > My ajax behavior looks like this:
>> >
>> > > private final AbstractDefaultAjaxBehavior behave = new
>> > AbstractDefaultAjaxBehavior()
>> > > {
>> > > protected void respond(final AjaxRequestTarget target)
>> > > {
>> > > LOGGER.debug("Received a request from client to get the
>> > encryption key");
>> > > target.add(new Label("foo", "Yeah I was just called from
>> > Javascript!"));
>> > > }
>> > >
>> > > public void renderHead(Component component, IHeaderResponse
>> response)
>> > > {
>> > > super.renderHead(component, response);
>> > > String callbackUrl = getCallbackUrl().toString();
>> > > response.render(JavaScriptHeaderItem.forScript("var
>> > callbackUrl='" + callbackUrl + "';", "values"));
>> > > }
>> > > };
>> > >
>> > > This callback url got rendered in the page like this:
>> >
>> > <script id="values" type="text/javascript">
>> > > /*<![CDATA[*/
>> > > var callbackUrl='./wicket/page?0-1.IBehaviorListener.0-';
>> > > /*]]>*/
>> > > </script>
>> > >
>> >
>> >
>> > And here is my JavaScript code:
>> >
>> > > var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
>> > > alert(wcall);
>> > >
>> > > But I'm getting the following error in the Wicket Ajax Debug Window:
>> >
>> > *An error occurred while executing Ajax request:TypeError: a is
>> undefined*
>> > >
>> >
>> > Can someone point out what's the mistake here?
>> >
>> > --
>> > Thanks & regards
>> > James
>> >
>>
>
>
>
> --
> Thanks & regards
> James Selvakumar
>
--
Thanks & regards
James
Re: Error while calling Wicket from a JavaScript function
Posted by James Selvakumar <ja...@mcruncher.com>.
Thanks Martin for the super fast reply. I'll try that out.
On Wed, Jan 18, 2017 at 4:54 PM, Martin Grigorov <mg...@apache.org>
wrote:
> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> should be
> var wcall = Wicket.Ajax.get({ u: window.callbackUrl });
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Wed, Jan 18, 2017 at 9:51 AM, James Selvakumar <ja...@mcruncher.com>
> wrote:
>
> > Dear Wicket team,
> >
> > I need to make a call to a Wicket page from my JavaScript function.
> > I followed the guide Calling Wicket from Javascript
> > <https://cwiki.apache.org/confluence/display/WICKET/
> > Calling+Wicket+from+Javascript>
> > and managed to define an ajax behavior to respond to the JavaScript call.
> >
> > My ajax behavior looks like this:
> >
> > > private final AbstractDefaultAjaxBehavior behave = new
> > AbstractDefaultAjaxBehavior()
> > > {
> > > protected void respond(final AjaxRequestTarget target)
> > > {
> > > LOGGER.debug("Received a request from client to get the
> > encryption key");
> > > target.add(new Label("foo", "Yeah I was just called from
> > Javascript!"));
> > > }
> > >
> > > public void renderHead(Component component, IHeaderResponse
> response)
> > > {
> > > super.renderHead(component, response);
> > > String callbackUrl = getCallbackUrl().toString();
> > > response.render(JavaScriptHeaderItem.forScript("var
> > callbackUrl='" + callbackUrl + "';", "values"));
> > > }
> > > };
> > >
> > > This callback url got rendered in the page like this:
> >
> > <script id="values" type="text/javascript">
> > > /*<![CDATA[*/
> > > var callbackUrl='./wicket/page?0-1.IBehaviorListener.0-';
> > > /*]]>*/
> > > </script>
> > >
> >
> >
> > And here is my JavaScript code:
> >
> > > var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> > > alert(wcall);
> > >
> > > But I'm getting the following error in the Wicket Ajax Debug Window:
> >
> > *An error occurred while executing Ajax request:TypeError: a is
> undefined*
> > >
> >
> > Can someone point out what's the mistake here?
> >
> > --
> > Thanks & regards
> > James
> >
>
--
Thanks & regards
James Selvakumar
Re: Error while calling Wicket from a JavaScript function
Posted by Martin Grigorov <mg...@apache.org>.
var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
should be
var wcall = Wicket.Ajax.get({ u: window.callbackUrl });
Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov
On Wed, Jan 18, 2017 at 9:51 AM, James Selvakumar <ja...@mcruncher.com>
wrote:
> Dear Wicket team,
>
> I need to make a call to a Wicket page from my JavaScript function.
> I followed the guide Calling Wicket from Javascript
> <https://cwiki.apache.org/confluence/display/WICKET/
> Calling+Wicket+from+Javascript>
> and managed to define an ajax behavior to respond to the JavaScript call.
>
> My ajax behavior looks like this:
>
> > private final AbstractDefaultAjaxBehavior behave = new
> AbstractDefaultAjaxBehavior()
> > {
> > protected void respond(final AjaxRequestTarget target)
> > {
> > LOGGER.debug("Received a request from client to get the
> encryption key");
> > target.add(new Label("foo", "Yeah I was just called from
> Javascript!"));
> > }
> >
> > public void renderHead(Component component, IHeaderResponse response)
> > {
> > super.renderHead(component, response);
> > String callbackUrl = getCallbackUrl().toString();
> > response.render(JavaScriptHeaderItem.forScript("var
> callbackUrl='" + callbackUrl + "';", "values"));
> > }
> > };
> >
> > This callback url got rendered in the page like this:
>
> <script id="values" type="text/javascript">
> > /*<![CDATA[*/
> > var callbackUrl='./wicket/page?0-1.IBehaviorListener.0-';
> > /*]]>*/
> > </script>
> >
>
>
> And here is my JavaScript code:
>
> > var wcall = Wicket.Ajax.get({ u: '${callbackUrl}'});
> > alert(wcall);
> >
> > But I'm getting the following error in the Wicket Ajax Debug Window:
>
> *An error occurred while executing Ajax request:TypeError: a is undefined*
> >
>
> Can someone point out what's the mistake here?
>
> --
> Thanks & regards
> James
>