gpt4 book ai didi

html - 如何调用 Delphi 程序来生成 HTML 页面内容

转载 作者:行者123 更新时间:2023-12-03 19:41:07 30 4
gpt4 key购买 nike

我正在制作一个 Delphi XE5 VCL 表单应用程序,并且有一个 TIdHTTPServer在主表格和 CommandGetIdHTTPServer程序:

procedure TForm1.IdHTTPServerCommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var pageContent: TStringList;
begin
if pos('profile&userName=', ARequestInfo.UnparsedParams) > 0 then
begin
pageContent:= TStringList.Create;
try
pageContent.Add('<html>');
pageContent.Add('<head>');
pageContent.Add('<title>Profile</title>');
pageContent.Add('</head>');
pageContent.Add('<body>');
pageContent.Add('<h1>Profile<h1>');
pageContent.Add
('<input id="subjects" value="Subjects" type="button"/>');
pageContent.Add('<div id="table-content">');
pageContent.Add('</div>');
pageContent.Add('</body>');
pageContent.Add('</html>');
AResponseInfo.ContentText := pageContent.Text;
finally
pageContent.Free;
end;
end;
end;

我想要做的是当用户单击按钮“ Subjects”来调用这个函数,该函数会生成一个包含学生类(class)和分数的 HTML 表。该函数从数据库中读取数据并生成一个表。我想避免重新加载整个页面(我尝试在 div 标签中插入表格)。

最佳答案

对于 部分页面刷新 ,您可以使用 JavaScript/Ajax,例如使用 jQuery 之类的框架。 Web 上有许多使用 Ajax 进行动态页面更新的示例。

Ajax 调用将请求作为 HTTP GET 或 POST 请求提交给 HTTP 服务器。 IdHTTPServerCommandGet 中的代码检查请求是否匹配 URL 和 HTTP 方法,然后构建并返回部分 HTML 代码。

在客户端,JavaScript 代码将接收到的部分 HTML 放置在指定的文档树位置。

参见例如:

https://stackoverflow.com/a/3644604/80901

更新:可以在 http://www.habariwebcomponents.de/demo/ajaxstats.html 找到基于 jQuery Ajax 的演示。与 Delphi source (基于我的 Delphi 和 Free Pascal 的 HTTP 服务库)

关于html - 如何调用 Delphi 程序来生成 HTML 页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23580750/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com