[support] I would like to be able within a Drupal module's hook do an ajax call to a Java Servlet.

Gottwig, Jeremy M. (GSFC-272.0)[ZIMMERMAN & ASSOC.] jeremy.m.gottwig at nasa.gov
Thu Apr 15 13:10:58 UTC 2010


Drupal_add_js just makes the JavaScript accessible to your application.  You'll still need to do something with it.  It looks like you're creating a form, so can I assume you're using the Forms API?  Maybe you could use the #attributes element to add your onchange/onblur/whatever to your form field.

http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#attributes

That said, I am fairly new to Forms API, so maybe there's a better method.  This is just an idea.

-----Original Message-----
From: support-bounces at drupal.org [mailto:support-bounces at drupal.org] On Behalf Of John Mitchell
Sent: Thursday, April 15, 2010 8:59 AM
To: support at drupal.org
Cc: John Mitchell
Subject: Re: [support] I would like to be able within a Drupal module's hook do an ajax call to a Java Servlet.

So you start with a form and within the form you use drupal_add_js to
embed the ajax within the form.  Correct?

If I have a custom module that has a hook function and within the hook
function can I just use drupal_add_js to do an ajax call?

Sorry for the stupid questions I am new to Drupal and php.

Thanks,

John

On 4/15/10, Jamie Holly <hovercrafter at earthlink.net> wrote:
> Look at drupal_add_js
>
> http://api.drupal.org/api/function/drupal_add_js
>
>
> Jamie Holly
> http://www.intoxination.net
> http://www.hollyit.net
>
>
> On 4/15/2010 6:51 AM, John Mitchell wrote:
>> I am trying to make this as simple as possible:
>>
>> As an example (listed below) I have a javascript ajax call to a java
>> servlet within my existing Apache Tomcat web application not Drupal.
>> All that would need to be modified would that the URL have to be the
>> full path.
>>
>> Is their a way within Drupal to embed a javascript call similar to the
>> one listed below?
>>
>> Thanks,
>>
>> John
>>
>> <script type = "text/javascript">
>> function download(link){
>>        var email = document.getElementById('email');
>>        var xmlHttpReq = new XMLHttpRequest();
>>        var url = 'ecommerce?command=serve&name=' + link + '&email=' +
>> email.value;
>>        xmlHttpReq.open('post', url, true);
>>        xmlHttpReq.onreadystatechange = function() {
>>              if (xmlHttpReq.readyState != 4)  {
>>                    return;
>>              }
>>              else {
>>                    var responseText = xmlHttpReq.responseText;
>>                    return false;
>>              }
>>        }
>>        xmlHttpReq.send(null);
>> }
>> </script>
>>
>>
>>
>> On 4/15/10, sumeet pareek<positivecharge at gmail.com>  wrote:
>> >  Does this help - http://drupal.org/node/44895 ?
>> >
>> >  On Thu, Apr 15, 2010 at 3:43 PM, John Mitchell<mitchelljj98 at gmail.com>
>> >  wrote:
>> >>  Let me rephrase my question: I currently within the same server have
>> >>  Apache/Drupal and Apache Tomcat/Java.  I would like to be able within
>> >>  a Drupal module's hook do an ajax call to a Java Servlet.
>> >>
>> >>  How would I do this within Drupal version 6?
>> >>
>> >>  For future reference how would I do this within Drupal version 7?
>> >>
>> >>  Thanks,
>> >>
>> >>  John
>> >>
>> >>  On 4/14/10, Seth Freach<sfreach at gmail.com>  wrote:
>> >>>  John Mitchell wrote:
>> >>>>  How would I do an ajax call within my own custom module?
>> >>>>
>> >>>>  Thanks,
>> >>>>
>> >>>>  John
>> >>>>
>> >>>>
>> >>>  You will probably need 2 menu items:
>> >>>   - The first to define the page that will be the ajax client.  Ie,
>> >>> the
>> >>>  url of the page that this all happens on, a regular drupal page that
>> >>> has
>> >>>  called drupal_add_js() to add some JS code that will do a
>> >>> $.ajax({...});
>> >>>  call (or other jquery asynchronous call).  This menu item might not
>> >>> be
>> >>>  needed though if the JS is added in a block, or inserted via
>> >>>  hook_form_alter or hook_nodeapi, etc.
>> >>>   - The second menu item will define the ajax server.  It should be
>> >>>  'type'=>MENU_CALLBACK and have the appropriate access checks defined
>> >>> as
>> >>>  well.  The callback function associated with this path should,
>> >>> instead
>> >>>  of returning themed output, end with: drupal_json(array(...));
>> >>> exit();
>> >>>  where the array(...) is an associative array that you want to hand
>> >>> back
>> >>>  to the calling page in JSON format.
>> >>>
>> >>>  If you're doing this for D7, look at:
>> >>>
>> >>> http://api.drupal.org/api/drupal/developer--examples--ajax_example--ajax_example.module/7
>> >>>
>> >>>  Seth
>> >>>  --
>> >>>  [ Drupal support list | http://lists.drupal.org/ ]
>> >>>
>> >>
>> >>
>> >>  --
>> >>  John J. Mitchell
>> >>  --
>> >>  [ Drupal support list | http://lists.drupal.org/ ]
>> >>
>> >
>> >
>> >
>> >  --
>> >  Cheers
>> >  Sumeet Pareek
>> >  --
>> >  [ Drupal support list | http://lists.drupal.org/ ]
>> >
>>
>>
>>
> --
> [ Drupal support list | http://lists.drupal.org/ ]
>


-- 
John J. Mitchell
-- 
[ Drupal support list | http://lists.drupal.org/ ]


More information about the support mailing list