创建一个json变量,包含从PHP代码中呈现的html?

时间:2013-03-01 12:36:21

标签: php jquery html ajax json

我目前正在学习如何利用ajax将信息发布到外部页面和jquery,然后根据发布的信息处理刷新页面上的特定元素。我正在使用bootstrap-ajax插件开始使用它,一切都按预期工作。但是,我认为必须有一个更好的方法或实践来创建服务器端html然后我正在使用的方法。

这是ajax插件的工作原理:

  1. 您从一个初始的php页面开始,定义ajax插件要处理的表单,以及在表单中的数据发布后要替换或刷新的div。

  2. 插件使用ajax将数据提交到指定页面,然后使用由{'divToReplace'=>'renderedHTMLusedForReplacement'}

  3. 组成的json编码变量进行响应

    我目前的工作流程包括为将要更新的div创建初始php代码,通常如下所示:

    <div id="<?php echo $itemID; ?>" class="<?php echo $thisDivClass; ?>">
       <div class="span5">
           <h4><?php echo $innerTitle;?></h4>
               .......
               ..........
    

    然后我必须复制并修改div的代码并创建一个额外的函数来处理php,然后将html保存到这样的变量中:

    $divHtml='<div id="'.$itemID.'" class="'.$thisDivClass.'">
                 <div class="span5">
                     <h4>'.$innerTitle.'</h4>';
    

    毋庸置疑,我必须使用更多的代码执行此操作,并且似乎必须有更好的方法以某种方式呈现原始代码并将html保存到变量而无需复制和修改整套代码。我对ajax,jquery和json很新,而且我在php上略高于新手等级,所以我很可能会对这个过程完全错误或遗漏一些非常基本的东西。

    任何帮助,建议或建议都将受到高度赞赏。谢谢!

1 个答案:

答案 0 :(得分:0)

Based on the documentation,看起来插件确实允许您指定HTML片段而不是整个div。如果您发布的片段确实代表了您正在做的事情,那么看起来div的结构不会改变,但内容是。

因此,至少根据您发布的内容,您可以直接将插件包含一些键/值对,这些键/值对包含您要更改的div部分的选择器以及您想要去的新内容。这至少可以让你不必重新创建整个div。

我会说根据我的经验,它有时可能会让人感到困惑,并且当你刚刚开始使用AJAX时,可以创建更多工作来使用这些插件和jQuery并不熟悉基础知识。实际上,使用简单的jQuery $.ajax()请求尝试完成您想要的任务可能会更容易,更省时(也更有益于您)。至少你会花时间学习适用于几乎所有项目的基础知识,而不是试图学习如何使用某人的插件。但是,与往常一样,您的里程可能会有所不同。