0

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

这是 ajax 插件的工作原理:

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

  2. 该插件使用 ajax 将数据提交到指定页面,然后该页面会响应一个包含 {'divToReplace'=>'renderedHTMLusedForReplacement'} 的 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 上的水平略高于新手,所以我很可能在这个过程中完全错误或遗漏了一些非常基本的东西。

任何帮助、建议或建议将不胜感激。谢谢!

4

1 回答 1

0

根据文档,看起来该插件确实允许您指定 HTML 片段而不是整个 div。如果您发布的片段确实代表了您正在做的事情,那么看起来 div 的结构没有改变,但内容却改变了。

因此,至少根据您发布的内容,您可能只需将一些键/值对交给插件,其中包含您想要更改的 div 部分的选择器以及您想要去那里的新内容。这至少应该使您不必重新创建整个 div。

我会说,根据我的经验,当您刚开始使用 AJAX 和 jQuery 并且对基础知识还不熟悉时,使用这些插件有时会令人困惑并且可能会产生更多的工作。$.ajax()尝试使用普通的 jQuery请求来完成你想要的事情实际上可能会变得更容易、更省时(而且对你更有利) 。至少您会花时间学习适用于几乎所有项目的基础知识,而不是尝试学习如何使用某人的插件。但是,与往常一样,您的里程可能会有所不同。

于 2013-03-01T12:51:25.857 回答