試下這個(gè)
<script> var phpadd= <?php echo add(1,2);?> //call the php add function var phpmult= <?php echo mult(1,2);?> //call the php mult function var phpdivide= <?php echo divide(1,2);?> //call the php divide function </script>
是的,您可以使用請(qǐng)求參數(shù)向伺服器發(fā)送帶有資料的Ajax請(qǐng)求,就像這樣(非常簡(jiǎn)單):
請(qǐng)注意,以下程式碼使用jQuery。
#jQuery.ajax({ type: "POST", url: 'your_functions_address.php', dataType: 'json', data: {functionname: 'add', arguments: [1, 2]}, success: function (obj, textstatus) { if( !('error' in obj) ) { yourVariable = obj.result; } else { console.log(obj.error); } } });
您的_functions_address.php檔案應(yīng)該像這樣:
<?php header('Content-Type: application/json'); $aResult = array(); if( !isset($_POST['functionname']) ) { $aResult['error'] = 'No function name!'; } if( !isset($_POST['arguments']) ) { $aResult['error'] = 'No function arguments!'; } if( !isset($aResult['error']) ) { switch($_POST['functionname']) { case 'add': if( !is_array($_POST['arguments']) || (count($_POST['arguments']) < 2) ) { $aResult['error'] = 'Error in arguments!'; } else { $aResult['result'] = add(floatval($_POST['arguments'][0]), floatval($_POST['arguments'][1])); } break; default: $aResult['error'] = 'Not found function '.$_POST['functionname'].'!'; break; } } echo json_encode($aResult); ?>