【问题标题】:How to include a php page to ajax function success如何将 php 页面包含到 ajax 函数成功中
【发布时间】: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


【解决方案1】:
function fn_nextitem(sliderNo){
    
  $.get("/index.php?op=ajax", {slide_no:sliderNo},function(resp) {
    if (resp) {
     
     
      $('#Div').append(resp);
    }
   else {
  
   } 
}

我的 PHP 代码是这样的:

if(!empty($items )){  
          foreach ($items as $itemid => $info) ;
            $html = include(TEMPLATE_PATH . "/list.php");
          endforeach; 
    
  }

在那之后,我得到了我想要的结果。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签