为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过JavaScript调用PHP函数?

如何通过JavaScript调用PHP函数?

慕运维8079593 2019-12-19 18:13:10
如何通过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调用值。
查看完整描述

3 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

是的,您可以使用请求参数中的数据对服务器执行Ajax请求,如下所示(非常简单):

注意,以下代码使用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);
                  }
            }});

您的_function_address.php如下所示:

    <?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);?>



查看完整回答
反对 回复 2019-12-20
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

尝尝这个

<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>



查看完整回答
反对 回复 2019-12-20
  • 3 回答
  • 0 关注
  • 299 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信