当前位置: 首页 > 面试题库 >

如何通过JavaScript调用PHP函数?

贺靖
2023-03-14
问题内容

我正在尝试从外部PHP文件将JavaScript函数调用为JavaScript脚本。我的代码又大又不同,所以我在这里编写示例代码。

这是我的PHP代码:

<?php
function 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调用值。


问题答案:

是的,您可以使用请求参数中的数据对服务器进行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);
                  }
            }
});

和your_functions_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);

?>


 类似资料:
  • 问题内容: 如何从PHP调用JavaScript函数? 以下代码来自 xyz.html (单击按钮时),它在外部 xyz.js中 调用a 。这将调用wait.php。 和 wait.php 从那里以同样的方式从另一个PHP文件调用代码。 该否则工作正常,但它不会被调用我想要的方式。 问题答案: 就PHP而言(或者实际上,通常是一个Web服务器),HTML页面只不过是一个大字符串而已。 您可以使用P

  • 问题内容: 我想在我的Android应用程序中对某些Java代码进行同步调用。 我的Java代码: 我的JavaScript代码: 当我点击按钮时,按钮进入按下状态。我可以在控制台日志中看到。一切正常,直到这里。 问题是,按钮永远不会回到其正常状态。它保持在按下状态。也许JavaScript执行中断了还是什么? 为什么按钮从不返回其正常状态? 问题答案: 我认为这不是让JavaScript执行Ja

  • 问题内容: 有没有办法可以通过JS函数运行php函数? 像这样的东西: 我基本上想运行php函数,当我单击名为“ Test”的href时,它将调用php函数。 问题答案: 本质上,这就是AJAX的作用。页面加载,然后将事件添加到元素。当用户导致事件被触发时(例如,单击某些内容),您的Javascript使用XMLHttpRequest对象将请求发送到服务器。 服务器响应后(大概带有输出),另一个J

  • 问题内容: 我想知道是否有可能仅在条件为真时在javascript中调用php函数。例如 有没有这样做的方法。如果是这样,请告诉我。谢谢 问题答案: 不能以上面说明的方式调用PHP函数。但是,您可以使用AJAX调用PHP脚本,代码如下所示。您也可以在这里找到一个简单的示例。让我知道您是否需要进一步澄清 使用jQuery 准系统Javascript替代

  • 问题内容: 好的,我知道有人问过这个问题,但是我对PHP和JavaScript还是很陌生,直到我开始寻找这个问题的答案之前,我才听说过Ajax,所以不理解以前的答案。 我正在创建一个站点,该站点本质上是SQL数据库中的一堆视频,它一次显示一个视频,我想要一个下一个和上一个视频按钮。 但是我无法摆脱这种ajax的问题​​,所以我的问题更加简单。 我已经复制了确切的代码, 在我的文件中,我实际上只是对

  • 本文向大家介绍如何通过AJAX调用传递JavaScript变量?,包括了如何通过AJAX调用传递JavaScript变量?的使用技巧和注意事项,需要的朋友参考一下 要通过AJAX调用传递JavaScript变量,请替换以下内容- 与- 示例 尝试以下代码以通过AJAX调用正确传递变量-