如何通过JavaScript调用PHP函数?

如何通过JavaScript调用PHP函数?

我试图将PHP函数从外部PHP文件调用到JavaScript脚本中。我的代码是不同的和大的,所以我在这里写一个示例代码。

这是我的PHP代码:

<?phpfunction add($a,$b){
  $c=$a+$b;
  return $c;}function mult($a,$b){
  $c=$a*$b;
  return $c;}function divide($a,$b){
  $c=$a/$b;
  return $c;}?>

这是我的JavaScript代码:

<script>
  var phpadd= add(1,2); //call the php add function
  var phpmult= mult(1,2); //call the php mult function
  var phpdivide= divide(1,2); //call the php divide function</script>

所以这就是我想做的。

我的原版PHP文件不包括这些数学函数,但思想是相同的。

如果有些人对此没有正确的解决办法,那么请建议另一种方法,但它应该从外部PHP调用值。



小怪兽爱吃肉
浏览 433回答 3
3回答

喵喵时光机

是的,您可以使用请求参数中的数据对服务器执行Ajax请求,如下所示(非常简单):注意,以下代码使用jQueryjQuery.ajax({ &nbsp;&nbsp;&nbsp;&nbsp;type:&nbsp;"POST", &nbsp;&nbsp;&nbsp;&nbsp;url:&nbsp;'your_functions_address.php', &nbsp;&nbsp;&nbsp;&nbsp;dataType:&nbsp;'json', &nbsp;&nbsp;&nbsp;&nbsp;data:&nbsp;{functionname:&nbsp;'add',&nbsp;arguments:&nbsp;[1,&nbsp;2]}, &nbsp;&nbsp;&nbsp;&nbsp;success:&nbsp;function&nbsp;(obj,&nbsp;textstatus)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;!('error'&nbsp;in&nbsp;obj)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;yourVariable&nbsp;=&nbsp;obj.result; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(obj.error); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}});您的_function_address.php如下所示:&nbsp;&nbsp;&nbsp;&nbsp;<?php &nbsp;&nbsp;&nbsp;&nbsp;header('Content-Type:&nbsp;application/json'); &nbsp;&nbsp;&nbsp;&nbsp;$aResult&nbsp;=&nbsp;array(); &nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;!isset($_POST['functionname'])&nbsp;)&nbsp;{&nbsp;$aResult['error']&nbsp;=&nbsp;'No&nbsp;function&nbsp;name!';&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;!isset($_POST['arguments'])&nbsp;)&nbsp;{&nbsp;$aResult['error']&nbsp;=&nbsp;'No&nbsp;function&nbsp;arguments!';&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;!isset($aResult['error'])&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch($_POST['functionname'])&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;'add': &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(&nbsp;!is_array($_POST['arguments'])&nbsp;||&nbsp;(count($_POST['arguments'])&nbsp;<&nbsp;2)&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aResult['error']&nbsp;=&nbsp;'Error&nbsp;in&nbsp;arguments!'; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aResult['result']&nbsp;=&nbsp;add(floatval($_POST['arguments'][0]),&nbsp;floatval($_POST['arguments'][1])); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aResult['error']&nbsp;=&nbsp;'Not&nbsp;found&nbsp;function&nbsp;'.$_POST['functionname'].'!'; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;json_encode($aResult);?>

慕的地10843

尝尝这个<script> &nbsp;&nbsp;var&nbsp;phpadd=&nbsp;<?php&nbsp;echo&nbsp;add(1,2);?>&nbsp;//call&nbsp;the&nbsp;php&nbsp;add&nbsp;function &nbsp;&nbsp;var&nbsp;phpmult=&nbsp;<?php&nbsp;echo&nbsp;mult(1,2);?>&nbsp;//call&nbsp;the&nbsp;php&nbsp;mult&nbsp;function &nbsp;&nbsp;var&nbsp;phpdivide=&nbsp;<?php&nbsp;echo&nbsp;divide(1,2);?>&nbsp;//call&nbsp;the&nbsp;php&nbsp;divide&nbsp;function</script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript