【发布时间】:2017-01-27 14:13:50
【问题描述】:
在我的 PHP 项目中,我想使用 AJAX 技术。我熟悉简单的 AJAX 请求和简单的响应,其中只提供简单的回答,例如“1”(用户存在 od“2”(用户不存在))。在这些情况下,处理这种类型的例如,使用 jQuery 进行响应。
但在某些情况下,我想会有更复杂的响应,这会强制重新渲染页面的很大一部分。我有以下想法,怎么做:
使用 JSON 数据作为服务器端脚本的响应,并在客户端使用 jQuery 进行处理?
在服务器上渲染完整的 HTML 代码,将其作为对 AJAX 请求的响应发送到客户端,然后在 ajax 调用的“成功”部分简单地处理它?
在服务器上为复杂请求准备响应的最佳方法是什么?我想使用选项 2),但我想避免使用以下语法:
$result = '';
$result = '<div>';
$result = ' <p>Username ' . $username . ' is not unique';
$result = '</div>';
return $result;
是否有可能使用“模板”之类的东西来呈现 ajax 响应?我想使用纯 PHP,不需要额外的框架。
【问题讨论】:
-
您可以使用
file_get_contents()和eval()读取文件。或者,您可以为变量定义自己的占位符,并将其替换为preg_replace()。 -
方法1是合理的,方法2也是。这真的取决于你的用例。我更喜欢以 JSON 之类的形式返回少量数据并更新页面客户端,因为这可能意味着 AJAX 请求比发送回可能已经在页面上的大量 HTML 请求更小、更快。是的,有一些模板方法可以比将它们链接在一起更容易生成 HTML。谷歌“PHP 模板”以发现更多......但这主要是一个“基于意见”的问题,IMO。
-
谢谢,但是“替换”方法是不够的,因为我想在模板中处理一些数组等。我不知道如何使用替换来管理它。