如何通过 JavaScript 调用 PHP 函数?

2024-01-10

我正在尝试将 PHP 函数从外部 PHP 文件调用到 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>

这就是我想做的。

My originalPHP 文件不包含这些数学函数,但想法是相同的。

如果有些问题没有适当的解决方案,那么您可以please建议一个替代方案,但它应该从外部 PHP 调用值。


是的,您可以使用请求参数中的数据向服务器发送ajax请求,如下所示(非常简单):

请注意,以下代码使用jQuery http://jquery.com/

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

?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 JavaScript 调用 PHP 函数? 的相关文章

  • 如何将查询参数添加到守卫中的路由并将其传递给 Angular 4 中的组件?

    我在我的 Angular 4 应用程序中使用路由保护 如果条件满足并返回 true 我想向路由添加一个查询参数 这是我一直在研究的代码 Injectable export class ViewGuardService implements
  • 在 C++ 中,当我将值传递给函数时,它是否总是转换为适当的类型?

    如果我有一个像这样的函数void func size t x 我称该函数为func 5 5 立即转换为size t类型 这通常适用于所有类型吗 我问这个问题是因为我发誓我见过人们编写代码 他们做类似的事情func 5 0 将 5 作为双精度
  • 如何显示/隐藏jsf组件

    在我的一个 JSF 应用程序中 顶部的标题部分包含 selectOneMenu 底部的内容部分显示过滤器组件 默认情况下 应用程序首先在顶部显示 selectOneMenu 数据 在底部显示相应的 Filter 信息 如果用户选择不同的se
  • Chrome 跨域 PATCH 请求不起作用

    我有一个带有 REST Api 的网站 现在我正在创建一个浏览器扩展 它将从某些页面收集数据并将它们发送回 REST Api 因为我希望我的扩展能够与 Firefox 和 Chrome 兼容 并且易于维护 所以我将实际代码作为脚本标记注入到
  • dc lineChart 单击时弹出数据点信息

    我正在尝试检测折线图数据点上的点击 Per this answer dc scatter plot binding onClick event https stackoverflow com a 22772340 1873386 I am
  • 语言翻译语法

    我正在尝试为我的项目添加另一种语言 我们知道语言可以表现出主语和谓语的差异 例如 英语 Mustafa和他的朋友去看电影ahmet today 土耳其 Mustafa布昆 阿卡达西ahmetile birlikte sinemaya git
  • 将屏幕宽度获取到 javascript 变量中并通过 ajax 将其发送到 php 页面以避免页面加载

    这是JS检测我的页面命名上的屏幕分辨率index html并将其发送到 php 以便可以使用以下方式检索值 GET 这是我的PHP文件命名的内容process php
  • 将可点击的锚标记转换为 html 文档中的纯文本

    我正在尝试匹配 a 我的内容中的标签 并将其替换为链接文本 后跟打印版本的方括号中的 url 如果只有 href 则以下示例有效 如果 a 包含另一个属性 它匹配太多并且不会返回所需的结果 我怎样才能匹配 URL 和链接文本 就是这样 这是
  • Ajax 函数在重定向后不保存滚动位置

    正如标题所述 我编写了一个 ajax 函数 该函数应该滚动到用户在重定向之前所在的位置 我写了一个alert对于测试场景 它确实触发了 但滚动不断回到顶部 我在这里做错了什么 JavaScript ajax type GET url Adm
  • 我可以在类变量中添加没有指定值的 PHP 数组键吗?

    我目前正在努力通过IBM 关于 CakePHP 的教程 http www 128 ibm com developerworks edu os dw os php cake1 html 有一次我遇到了这段代码
  • IE9 中的无效字符 DOM 异常

    以下这段 JS 曾经在 IE8 中工作 现在在 IE9 中失败 document createElement 我收到以下异常 SCRIPT5022 DOM 异常 INVALID CHARACTER ERR 5 上面这段代码是不是不符合标准呢
  • 正则表达式提取大括号之间的文本

    我正在尝试提取 PHP 中花括号之间的文本 例如 欢迎 user first name 使用 site 版本 1 5 您的用户名 是 user username 您目前的声誉是 user reputation name 我用过 在某些情况下
  • redux - 如何存储和更新键/值对

    我正在使用 redux 和 React js 我想存储简单的键 值对 但无法获得正确的减速器语法 在这种情况下 每个键 值对将保持与外部系统的连接 这是正确的做法吗 我刚开始使用 redux 所以这有点神秘 export default s
  • 除非打开开发人员工具,否则 IE8 Javascript 无法运行?

    由于某种原因 在 IE8 中 除非我在打开开发工具的情况下重新加载页面 否则 javascript 不会运行 我关闭开发人员工具并重新加载页面 然后 javascript 停止工作 我没有收到任何错误报告 无论如何它们也没有任何用处 还有其
  • 禁用移动设备上的锚点菜单点击

    我使用嵌套列表作为带有子菜单项的菜单 我曾经这样做过 如果您将鼠标悬停在主菜单项上 子菜单项将通过将显示从无更改为块来出现 我决定让子菜单看起来就像是下拉的 并使用了 CSS 过渡 我遇到的问题是 在第一种方法中 如果您触摸 iPad 上的
  • React Router Tabs——保持组件安装

    我使用 React Router 创建了选项卡 每个选项卡都有不同的路线 但是 我想通过保持隐藏选项卡的安装来维护选项卡转换之间的选项卡状态 我该如何实现这一目标 每次路由切换时 React 路由器都会重新安装每个组件 已经有人问过这个问题
  • javascript从字符串创建不区分大小写的正则表达式

    我试图通过以不区分大小写的方式将输入与正则表达式匹配来进行验证 正则表达式作为对象上的字符串从服务中下来 我可能会得到类似的东西 regex ane 我可以执行以下操作 var rx new RegExp object regex The
  • 引导网格中的绘图图周围有巨大的空白

    我有一个 Net 应用程序 我试图在其中使用创建一个图表bootstrap js and plotly js 当我创建响应式图表时 我遇到网格中存在巨大空白的问题 我发现问题的一部分是plotly svg container的大小默认高度为
  • 尽管 getBoundingClientRect() 是假的,但如何将事件坐标转换为 SVG 坐标?

    我正在尝试根据鼠标的位置在 SVG 元素上动态绘制内容 不幸的是 我很难将 mousemove 事件中的鼠标坐标转换为 SVG 元素的坐标空间 这是我一直在测试的一个有缺陷的函数 CylinderDemo prototype handleM
  • 用于替换前 5 个数字的正则表达式,无论它们之间有什么?

    我正在努力实现以下匹配 Input 123 45 6789 123456789 1234 正则表达式尝试输出 d 5 123 45 6789 123456789 1234 d 2 3 123 45 6789 123456789 1234 d

随机推荐

  • 如何使用 C# 在 firebird 中执行事务(或多个 sql 查询)

    我尝试了多种方法 包括SO 以下 MYSQL 代码在 Firebird 中不起作用 CREATE TABLE publications INT NOT NULL AUTO INCREMENT PRIMARY KEY id filename
  • powershell删除特定注册表项

    我是 PowerShell 新手 我正在尝试从运行注册表项中删除特定值 我正在使用remove item命令 但是 我没有看到用于指定单个值的开关 我不想删除整个键 只想删除一个值 作为参考 我正在尝试执行的批处理等效项 reg delet
  • 可插入注释处理器 API 可以检索源代码注释吗?

    我正在使用 Java6 的可插入注释处理 api 自动创建一些部署 XML 文件 这些 XML 文件的一部分包含对象的描述 描述始终与与类本身关联的 Javadoc 内容相同 我可以强制注释成为 Block 注释的字段 但这会重复信息 在注
  • 如何在基于时间的模拟游戏中防止基于时间的作弊?

    在iPhone游戏 Tiny Tower 中 我猜测它使用了某种基于上次玩游戏和当前时间之间花费的时间的模拟 因为你可以将当前时间向前设置 你将从假中受益经过的时间跨度 有没有一种算法可以用来防止这种事情发生 或者至少让普通用户很难实现 编
  • 如何在 Scala 中使用命名参数创建自定义函数类型?

    假设我想创建一个名为 ImportFunc 的自定义函数类型 它接受一个名为 fileImportID 的 Int 和一个名为 filename 的字符串 我可以使用类型别名很容易地做到这一点 如下所示 type ImportFunc In
  • 错误“元素不能包含空格。内容模型为空。”是什么意思?意思是?

    我正在为一个简单的 xml 组合一个 xml 模式 请参阅下面的 xml 和模式 但我不断收到有关节节点的以下错误 元素不能包含空格 内容模型为空 浏览网络我找不到任何简洁的解释来解释它的含义 所以我可以修复它 有人可以帮忙吗 编辑 感谢大
  • np.where(条件为 None) 不等于 np.where(条件 == None)

    我对 np where 函数感到困扰 在我的示例中为第 7 行 背景 我正在编写 连四子 游戏 这insert chip 方法访问变量self board这是我个人数据类型的 8x8 np 数组Chip 如果没有chip在一个条目中self
  • Angular 2 HTTP GET 返回 URL null

    我正在尝试使用 Angular 2 和 Typescript 发出一个简单的 HTTP GET 请求 我收到 404 错误 网址为空 下面显示的是我的组件文件以及我收到的错误 import Component OnInit from ang
  • 如何访问成员变量sqlite回调

    我需要从 sqlite 回调函数访问类中的变量 它不能是静态的 因为我需要从其他函数访问这个变量 这是我当前的代码 class fromdb private string paramdb char errmsg string param s
  • Chrome 正在由自动化测试软件控制

    我正在 Chrome 中使用 Serenity BDD Selenium 运行自动化测试 我必须下载新的 ChromeDriver 因为我的测试无法运行 gt 测试将打开 ChromeDriver 但无法 以用户身份浏览 当我用谷歌搜索这个
  • 为什么声明转换不会减少 cookie 大小?

    我正在使用 Azure AD net core 2 1 并已注册我的应用程序并将其配置为返回 AD 组作为声明 我还使用声明转换来删除除我的应用程序使用的三个组之外的所有组声明 这成功地消除了 100 多个组 我这样做是希望能够减少后续请求
  • SQL Server 2008 - 连接字符串

    我需要获取每个行项目的查询结果 并构建一个以分号分隔的组成该项目的材料列表 架构构成 表格 LineItems 唯一项目列表 LineItems Materials 多对多 材料 独特材料清单 行项目 ID 行项目 1 1A 1 LineI
  • 覆盖 ComboBox 中的默认 TextBlock 样式

    我在 App xaml 中定义了默认的 TextBlock 样式 它似乎也会影响 ComboBox 项目的文本颜色 现在 如何显式设置主窗口中定义的 ComboBox 的文本颜色 我想保留默认样式 但将组合框文本颜色设置为蓝色而不是红色 A
  • Unity3d android 2d 精灵放置

    Please take a look at this picture It s a final look of the game exported from photoshop I marked the ui sprites with re
  • 将鼠标悬停在 jtable 单元格上时显示图像

    我有一个使用 DefaultTableModel 创建的 JTable 我想在鼠标悬停在该 JTable 的特定单元格上时显示图像 并且我需要每个单元格的图像都不同 提前致谢 您可以覆盖prepareRenderer of the JTab
  • iOS - 运行 Swift 单元测试时找不到“MyProject-Swift.h”文件

    我正在尝试为我的项目设置单元测试 它是一个现有的 Objective C 应用程序 我最近向其中添加了一个 Swift 类 我已经设置了 MyProject Swift h 和 Swift 桥接文件 MyProject 和 MyProjec
  • Wordpress 和 Nginx 与 Docker:未加载静态文件

    我正在使用 Docker 来为我的简单 WordPress 网站提供服务 一个 nginx 容器和一个 wordpress 容器 简单设置 upstream wordpress english server wordpress en 80
  • 如何计算MPR的dicom切片之间的空间?

    由于显示MPR view基于 Dicom 我用一系列 dicom 文件制作了一个 3D 数组 我展示它来自Coronal and Sagittal sides My 3D array includes z count of dicoms c
  • Google Cloud SQL PG11:无法调整共享内存段的大小

    我最近在 Google Cloud SQL 上将 Postgres 9 6 实例升级到 11 1 从那时起 我开始注意到多个查询中存在大量以下错误 org postgresql util PSQLException 错误 无法调整共享大小
  • 如何通过 JavaScript 调用 PHP 函数?

    我正在尝试将 PHP 函数从外部 PHP 文件调用到 JavaScript 脚本中 我的代码不同且庞大 因此我在这里编写示例代码 这是我的 PHP 代码 这是我的 JavaScript 代码