【发布时间】:2021-10-10 18:40:10
【问题描述】:
我想在 ajax 成功函数中包含一个 PHP 文件。 是否可以在 ajax 函数中添加 PHP 文件? 我的 PHP 文件是 list.php 我的ajax函数是:
function fn_nextitem(sliderNo){
$.get("/index.php?op=ajax", {slide_no:sliderNo},function(resp) {
if (resp) {
obj_b = JSON.parse(resp);
if(obj_b) {
$('#Div').html(obj_b);
}
else {
}
}
我的 PHP 代码是这样的:
if(!empty($items )){
foreach ($items as $itemid => $info) ;
$html = include(TEMPLATE_PATH . "/list.php");
endforeach;
echo json_encode('data_arr'=>$html);
}
添加此代码后,我没有得到任何结果。但是如果我将 '$items' 分配给 'data_arr' 那么我得到了结果。 我想将此 PHP 页面包含在 for 循环中。
【问题讨论】:
-
include默认不返回任何内容,它只是执行请求的 PHP 文件。我看不到您的模板文件,所以我不知道其中发生了什么,但请阅读 include 的手册,特别是其中说 “处理返回:包含在失败时返回 FALSE 并引发警告。成功包含,除非被包含文件覆盖,否则返回 1。可以在包含文件中执行 return 语句,以终止该文件中的处理并返回调用它的脚本" -
在模板文件中包含显示项目的详细信息,如名称、图像、价格等。我关心的是是否可以使用 json_encode 将 PHP 页面或此模板添加到我的 ajax 函数中。我正在尝试这样做。在 JSON 中包含 html 没有多大意义。如果你想返回 HTML,只需回显一些 HTML 并忘记 JSON。我不想在ajax函数下追加模板文件内容,因为它是一个冗长的文件。所以我认为,当我将此内容添加到我的 ajax 函数时,显示页面需要一些延迟是的,我只是将我的 html 附加到 ajax 函数中成功。我得到了结果。
标签: javascript php ajax