Location: PHPKode > scripts > pAjax > pajax/tests/complex_structure.php
<?php

require "../class.pAjax.php";


function complexStructure() {
	return array(
		array('prop' => 'value'),
		array('simple', 'another value'),
		'someProperty' => 'someValue',
		'another' => true,
		'htmlTest' => '<b>Item</b>'
	);
}


$AJAX = new pAjax;
$AJAX->disableDomainProtection();
$AJAX->enableExportProtection();
$AJAX->export("complexStructure");
$AJAX->handleRequest();

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
	<head>
		<title>Complex Structure Test</title>
		<?php $AJAX->showJavaScript(".."); ?>
        <script type="text/javascript">
            function ComplexStructure() {
				pAjax.call(this);
				pAjax.setDebugMode(true);
			}


			var _p = ComplexStructure.prototype = new pAjax;

			_p.execAction = function () {
				var oRequest = this.prepare("complexStructure", pAjaxRequest.POST);
				oRequest.execute(pAjaxRequest.SYNC); // Synchronized Mode Test
			}
			
			_p.onChange = function () {
                alert("Ready State: " + this.getReadyState());
            }

			_p.onLoad = function () {
			    // getData is depreciate, use getResponse instead
			    // Altho, getData is still supported for undeterminate period
				var data = this.getResponse();
				
				// Testing prefined property
				alert('Content of data[0].prop || data[0][\'prop\'] = ' + data[0].prop);
				
				for (var item in data) {
					alert('Content of data[' + item + '] = ' + data[item]);
							
					//for (var innerItem in data[item]) {
					//	alert('Content of data[' + item + '][' + innerItem + '] = ' + data[item][innerItem]);
					//}
				}
			}
		</script>
	</head>
	
	<body>
		This example deals with a complex data structure returned by server (associative array and indexed array).<br />
		Check out the alerts to know how is it treated.<br />
		<br />
		<input type="button" value="Test!" onclick="(new ComplexStructure()).execAction();" />
	</body>
</html>
Return current item: pAjax