Php 简单的Web应用程序样式为CMS,但在ajax方面存在问题

Php 简单的Web应用程序样式为CMS,但在ajax方面存在问题,php,javascript,ajax,web-applications,content-management-system,Php,Javascript,Ajax,Web Applications,Content Management System,我建立一个简单的,7页,数据库驱动的网站,我想建立一个简单的CMS为它。一个超级简单的CMS只是为了改变某些网页上的文字和上传图像到另一个。我甚至不愿意称之为CMS。我这样做主要是为了学习如何构建一个web应用程序 我的想法是,使用php构建一个简单的网页,该网页将具有一些简单的登录处理。然后使用ajax为每个页面加载不同的模块。就像在主页上一样,我只希望文本可以更改。我想我能做的是使用ajax加载另一个php页面,只加载一个tinymce编辑器,并用数据库中的文本预加载它,用一个简单的ajax

我建立一个简单的,7页,数据库驱动的网站,我想建立一个简单的CMS为它。一个超级简单的CMS只是为了改变某些网页上的文字和上传图像到另一个。我甚至不愿意称之为CMS。我这样做主要是为了学习如何构建一个web应用程序

我的想法是,使用php构建一个简单的网页,该网页将具有一些简单的登录处理。然后使用ajax为每个页面加载不同的模块。就像在主页上一样,我只希望文本可以更改。我想我能做的是使用ajax加载另一个php页面,只加载一个tinymce编辑器,并用数据库中的文本预加载它,用一个简单的ajax按钮将文本上传到数据库。与iframe类似,但没有iframe

当我尝试这样做时,我得到的只是一些文本和文本区域框。事实证明,它只加载文本,而不加载javascript。进一步阅读后,我发现我可以使用eval将加载的文本转换为javascript,但据我所知,这会导致范围问题

所以我基本上想知道我该怎么做我的目标是类似于谷歌和/或雅虎邮件应用的东西。我想一开始我可以在主页上抛出我将要使用的所有javascript代码,然后用ajax加载内容,但是从我所读到的内容来看,javascript不会将自己应用到新代码中,因为在页面首次加载时,代码应用到DOM元素时,javascript并不存在。我的下一个想法是加载内容,然后使用jquery加载脚本,并将其应用于新加载的内容,但尝试在上面查找任何内容充其量是令人困惑的


有没有人做过类似的事情,愿意分享他们学到的东西,或者只是知道我在说什么,可以帮助我?或者解决方案很简单,而我只是看不到?

保持简单。构建简单的CMS不需要AJAX。仅支持对页面处理查询参数,如?edit=true。当服务器收到该消息时,将页面放入支持代码编辑的编辑器中,如EditArea。为了保存数据,简单的HTTP将数据发布回服务器,并将其存储回数据库,甚至更好,直接存储回磁盘。如果操作正确,可以将其连接起来,直接编辑每个页面的php文件。是的,很多人都这样做了:)祝你好运。

我们可以使用更多的细节(如代码、过程等),不过,我想提供帮助

关于tinymce,以下是我对它的看法:

  • 创建一个包含timyMCE的php文件。让我们把它命名为“tinymce.php”
  • 创建一个php文件,将文本加载到数据库中。让我们称之为“defaulttext.php”
  • 在主页(应用程序页面)上,通过ajax加载“tinymce.php”。这会将tinymce编辑器从php文件加载到主应用程序页面
  • 在加载“tinymce.php”后创建回调(上一个过程成功后的函数调用)。在这个调用中,调用“defaulttext.php”并将其内容加载到前面加载的“tinymce.php”内容的文本框中
总共有两个调用:一个是对编辑器的调用,之后是对默认内容的调用


您可以使用预加载的脚本在加载任何内容之前执行所需的操作。创建脚本来处理DOM、事件等(事件处理程序)。

事实上,我已经创建了一个基于php的后端,它完成了我需要它做的一切,所以这不是问题所在。我正在尝试做的是学习如何制作web应用程序,并以这种方式进行,因为我相信这是一种很好的学习体验。我想应该补充的是,我已经用php构建了后端cms。使用tinymce作为编辑器。我对此没有问题。我想做的是将其转换为一个web应用程序来体验。我在根据需要将模块加载到页面时遇到问题(我想这就是它们的名称)。正如我说过的,我已经用php构建了后端,不过还是要谢谢你。预加载脚本的问题在于,新按钮、tinymce的新实例以及所有有趣的javascript内容等代码都没有应用到新下载的注入html的代码中。您是否使用像jQuery这样的javascript库?在jQuery中,有一个函数.html(),它解析返回的javascript和返回的html。它有点像eval()函数,在返回的HTML中计算混合脚本。我正在使用jQuery的ajax函数将数据加载到div中。我将尝试一下。谢谢,这在我的简单测试中起到了作用。这意味着我用我的实际代码破坏了一些东西。