如何在TMS WEB Core应用中调用或运行PHP脚本?
在TMS WEB Core中调用PHP代码的方法
1. 通过HTTP请求调用PHP接口(最常用方案)
TMS WEB Core本质是前端应用,和PHP交互的核心方式就是通过HTTP请求(GET/POST等)调用后端PHP脚本。你可以用组件或者原生JS实现:
用TWebHTTP组件实现(Delphi代码)
拖一个TWebHTTP组件到窗体,然后在事件中发起请求:
procedure TForm1.CallPHPBtnClick(Sender: TObject); begin // 调用PHP脚本,处理异步返回结果 WebHTTP1.Post('backend/handle_request.php', 'param1=value1¶m2=value2', procedure(AResponse: string; AError: Boolean) begin if not AError then ShowMessage('PHP返回: ' + AResponse) else ShowMessage('请求出错'); end); end;
对应的PHP脚本(handle_request.php):
<?php // 获取POST参数 $param1 = $_POST['param1'] ?? ''; $param2 = $_POST['param2'] ?? ''; // 处理逻辑 $result = "收到参数:$param1, $param2"; // 返回结果(建议用JSON格式更规范) echo json_encode(['status' => 'ok', 'data' => $result]); ?>
用原生JS的fetch实现
如果需要更灵活的调用方式,直接写JS代码实现:
procedure TForm1.FetchPHPBtnClick(Sender: TObject); begin asm fetch('backend/handle_request.php', { method: 'POST', body: new FormData().append('param1', 'value1') }) .then(response => response.json()) .then(data => alert('PHP返回: ' + data.data)) .catch(err => alert('请求失败: ' + err)); end; end;
2. 页面加载时嵌入PHP生成的初始数据
如果需要在应用启动前获取PHP生成的初始数据,可以把TMS WEB Core的入口HTML改为PHP文件,直接嵌入PHP代码传递数据:
<?php // 从服务器获取初始配置数据 $appConfig = [ 'apiBaseUrl' => '/backend/', 'currentUser' => 'test_user' ]; ?> <!DOCTYPE html> <html> <head> <!-- TMS WEB Core默认的头部资源 --> </head> <body> <script> // 把PHP数据传递给前端JS window.AppConfig = <?php echo json_encode($appConfig); ?>; </script> <div id="root"></div> <!-- TMS WEB Core的启动脚本 --> </body> </html>
之后在TMS WEB Core代码里可以直接访问window.AppConfig获取预加载的数据。
注意事项
- 确保PHP脚本和TMS WEB Core应用部署在同一域名下,否则需要在PHP端配置CORS(添加
Access-Control-Allow-Origin响应头)。 - 传递敏感数据时,建议用POST请求并加密,避免明文传输。
- 复杂交互优先用JSON格式传递数据,方便前后端解析。
内容的提问来源于stack exchange,提问作者Moshelly
相关产品推荐
相关产品推荐

