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@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_exa...
Seth
[ Drupal support list | http://lists.drupal.org/ ]
Does this help - http://drupal.org/node/44895 ?
On Thu, Apr 15, 2010 at 3:43 PM, John Mitchell mitchelljj98@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@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_exa...
Seth
[ Drupal support list | http://lists.drupal.org/ ]
-- John J. Mitchell -- [ Drupal support list | http://lists.drupal.org/ ]
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@gmail.com wrote:
Does this help - http://drupal.org/node/44895 ?
On Thu, Apr 15, 2010 at 3:43 PM, John Mitchell mitchelljj98@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@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_exa...
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/ ]
On Thu, Apr 15, 2010 at 6:51 AM, John Mitchell mitchelljj98@gmail.comwrote:
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>
Apache Solr Integration does something similar, you might be able to find
some clues - http://drupal.org/node/343467
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 pareekpositivecharge@gmail.com wrote:
Does this help - http://drupal.org/node/44895 ?
On Thu, Apr 15, 2010 at 3:43 PM, John Mitchellmitchelljj98@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 Freachsfreach@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_exa...
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/ ]
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@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 pareekpositivecharge@gmail.com wrote:
Does this help - http://drupal.org/node/44895 ?
On Thu, Apr 15, 2010 at 3:43 PM, John Mitchellmitchelljj98@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 Freachsfreach@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_exa...
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/ ]
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...
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@drupal.org [mailto:support-bounces@drupal.org] On Behalf Of John Mitchell Sent: Thursday, April 15, 2010 8:59 AM To: support@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@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 pareekpositivecharge@gmail.com wrote:
Does this help - http://drupal.org/node/44895 ?
On Thu, Apr 15, 2010 at 3:43 PM, John Mitchellmitchelljj98@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 Freachsfreach@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_exa...
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, I'm not sure exactly what you mean by "a hook function". Are you implementing an already defined hook or are you defining a hook for other modules to implement? You can use drupal_add_js() anywhere you want JS to be inserted into a page, so yes, within hook functions too.
If the resource is on a different server, that's fine, then the Drupal php will only be acting as a client in your situation. I think what you are looking for is a way to write php code that will get translated into JS ajax code magically via the platform? That does happen in some platforms (such as CakePHP) but not in Drupal 6. In Drupal 6, there is some integration between the form api and AHAH calls (see: http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html...) but if you want to do pure AJAX, you'll need to write the JS calls and success handler yourself and then add that JS code to the page with drupal_add_js().
Example of a form function: <?php function example_my_form() { $form['email'] = array( '#type' => 'textfield', '#title' => t('E-mail'), '#attributes' => array('id' => 'example-my-form-email'); ); $form['bttn'] = array( '#type' => 'button', '#value' => t('Click Me'), '#attributes' => array('id' => 'example-my-form-button'); ); $form['div'] = array( '#value' => '<div id="example-my-form-div"></div>', );
$js = " Drupal.behaviors.example = function() { $.ajax({ url : 'path/to/my/external/tomcat/resource?email=' + $('#example-my-form-email').val(), success : function(data) { // parse the return data and add it to the div or whatever... $('#example-my-form-div').html(data.someValue); } }); } "; drupal_add_js($js, 'inline');
return $form; } ?>
If you want to do AJAX in Drupal 7, you can use the above approach, or have a look again at the link in my first email.
Seth
John Mitchell wrote:
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@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 pareekpositivecharge@gmail.com wrote:
Does this help - http://drupal.org/node/44895 ?
On Thu, Apr 15, 2010 at 3:43 PM, John Mitchellmitchelljj98@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 Freachsfreach@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_exa...
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/ ]
Of course, that $.ajax({...}) call below should be inside of a click() handler on the button element or similar... but, you get the idea... :)
Seth
Seth Freach wrote:
John, I'm not sure exactly what you mean by "a hook function". Are you implementing an already defined hook or are you defining a hook for other modules to implement? You can use drupal_add_js() anywhere you want JS to be inserted into a page, so yes, within hook functions too.
If the resource is on a different server, that's fine, then the Drupal php will only be acting as a client in your situation. I think what you are looking for is a way to write php code that will get translated into JS ajax code magically via the platform? That does happen in some platforms (such as CakePHP) but not in Drupal 6. In Drupal 6, there is some integration between the form api and AHAH calls (see: http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html...) but if you want to do pure AJAX, you'll need to write the JS calls and success handler yourself and then add that JS code to the page with drupal_add_js().
Example of a form function:
<?php function example_my_form() { $form['email'] = array( '#type' => 'textfield', '#title' => t('E-mail'), '#attributes' => array('id' => 'example-my-form-email'); ); $form['bttn'] = array( '#type' => 'button', '#value' => t('Click Me'), '#attributes' => array('id' => 'example-my-form-button'); ); $form['div'] = array( '#value' => '<div id="example-my-form-div"></div>', ); $js = " Drupal.behaviors.example = function() { $.ajax({ url : 'path/to/my/external/tomcat/resource?email=' + $('#example-my-form-email').val(), success : function(data) { // parse the return data and add it to the div or whatever... $('#example-my-form-div').html(data.someValue); } }); } "; drupal_add_js($js, 'inline'); return $form; } ?>
If you want to do AJAX in Drupal 7, you can use the above approach, or have a look again at the link in my first email.
Seth
John Mitchell wrote:
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@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 pareekpositivecharge@gmail.com wrote:
Does this help - http://drupal.org/node/44895 ?
On Thu, Apr 15, 2010 at 3:43 PM, John Mitchellmitchelljj98@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 Freachsfreach@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_exa... > > 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/ ]
I get the following error within firebug on firefox:
uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://localhost/drupal/index.php?q=node :: <TOP_LEVEL> :: line 58" data: no]
The above error appears to be for:
drupal_add_js('xmlHttpReq.send(null)', 'inline');
When trying to run the following ajax code:
function goodreads_block($op='list' , $delta=0, $edit=array()) { drupal_add_js('var xmlHttpReq = new XMLHttpRequest()', 'inline'); drupal_add_js('var url = "https://localhost/midcollection"', 'inline'); drupal_add_js('xmlHttpReq.open("post", url, false)', 'inline'); drupal_add_js('xmlHttpReq.send(null)', 'inline'); drupal_add_js('var responseText = xmlHttpReq.responseText', 'inline'); }
John
On 4/15/10, Jamie Holly hovercrafter@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 pareekpositivecharge@gmail.com wrote:
Does this help - http://drupal.org/node/44895 ?
On Thu, Apr 15, 2010 at 3:43 PM, John Mitchellmitchelljj98@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 Freachsfreach@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_exa...
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/ ]