javascript - 如何将 PHP 函数转换为使用 Ajax 调用
问题描述
编辑:我没有直接尝试使用 Javascript 调用 PHP 函数。应用程序路由将帮助前端达到正确的功能。
我认为我的问题可能有一个简单的解决方案,但我无法弄清楚。
我有一堆输出 HTML 的 PHP 函数。就像是:
<?php
function sample1($param1)
{
//make DB query and loop and print HTML
?>
<div class='some-class'>
Some dynamic output here...
</div>
<?php
}
?>
所以就像我说的那样,有很多这样的功能。我想使用 Ajax 调用它们,以便可以返回它们的值,并且我可以使用 Javascript 打印它们/更新 DOM。我知道我可以更新所有函数,以便它们生成的 HTML 可以存储到一个字符串中,然后我可以每个字符串。但是有没有更简单、更清洁的解决方案来解决这个问题?
解决方案
因为您没有向我提供 javascript ajax 调用,所以我将专注于 php 方面。我正在使用一个简单的 get Ajax 调用:
$.get( "https://someKindofLink.php?callFunction=Hallo&doctor=who", function( data ) {
alert( data );
});
在 php 方面,我们需要检查该函数是否存在,并使用 $_GET 中的所有变量运行它:
if (isset($_GET['callFunction'])) {
if(function_exists($_GET['callFunction'])){
echo $_GET['callFunction']($_GET);
exit;
}
}
function hallo($params)
{
return "Goodbye".$params['doctor'];
}
出于安全原因,我不会建议这种方法,但它应该可以完成工作。
推荐阅读
- python - 在 python 中使用 pyodbc/turbodc 从现有表创建 SQL 表
- swift3 - 使用 Xcode 版本 11.3.1 将 swift 3 代码迁移到 swift 5
- javascript - 这个java正则表达式是做什么的?
- php - Guzzle/Curl 发送两次时出现奇怪的错误
- keras - 如何在具有不同时间步长的多个时间序列数据上训练 LSTM 模型?
- java - IntelliJ IDEA 不允许我单击 jar 并查看内容
- python - 无法将我的 MySQL 数据库与 Django 一起使用 - 运行迁移命令后出现 ValueError
- java - 如何从边界框值计算 x,y 坐标
- angular - 如何修复类型'{静态:布尔值;}' 不能分配给 '{ read?: any; 类型的参数。}'。在角度?
- java - 在谷歌地图集成中获取空指针异常