Development AJAX
From Cloudrexx Development Wiki
Note: This documentation refers to version 2.x. For newer versions of Cloudrexx, please refer to Exposed methods.
Client Side
The easiest way to make a AJAX (XMLHttpRequest) call is to use the AJAX capabilities of jQuery.
Don't forget to load the Contrexx Javascript Framework or at least jQuery (see Server Side implementation below)
Example:
jQuery.ajax({ type: 'GET', url: cx.variables.get('cmsPath', 'contrexx') + 'index.php', data: { section: 'MODULE', cmd: 'CMD', standalone: true, payload: jsondata}, success: fnSuccess, dataType: json });
Passing the argument standalone to the ajax-request will speed up the handling of therequest by deactivating any system components (template, navigation, etc) that won't be required by a ajax call.
Server Side
This feature is replaced by JsonData in Contrexx 3 and newer!
- Load required Javascript libraries
- Load the Contrexx Javascript Framework. This automatically also load jQuery
JS::activate('cx');
- Handling request
// read transmitted data from GET request $payload = json_decode($_GET['payload']); // perform some operations ... // return response die(json_encode($response));
- Helper functions
- json_encode() // use to encode an object/array
- json_decode() // use to decode a JSON-encoded object/array
- Note: Contrexx implements a wrapper (using [1] PEAR's Services_JSON) to provide these functions even when PHP was compiled without JSON extension. The optional parameters you can pass to the functions json_encode() and json_decode() have not been implemented by the wrapper class. Therefore you should not depend on using those parameters.