我的工作,我想,以与PHP + AJAX更加动态的项目。 我使用jQuery的AJAX部分,因为我完全吸入JavaScript,无论如何,它似乎是值得的。 我达到了我的应用程序需要使用表单发送帖子的地步,并且我想使用ajax调用来执行此操作。在我想发送帖子的页面中,还列出了最近提交的15个帖子。
第一个问题:我应该忘记它,只使用PHP吗?
行动
用户写入的<textarea></textarea>
和点击的东西在<a id="myPostSubmit">Submit</a>
那就是我的jQuery脚本管理的东西,如$("#myPostSubmit").live('click', function() { /* here i make the ajax call */ });
的处理程序。如果帖子被成功提交,我们会做一些事情(我会在下一节讨论它),要么我们会使用我的showAlert(text)
函数提醒用户,该函数会在其中显示一个4秒钟的黑盒子,其中包含text
。
第二个问题:我应该管理点击事件在任何其他方式?我应该创建一个函数,例如
sendpost(post)
并将其附加到HTMLonclick=""
事件中吗?
如果该信息发送成功
我会开一个讨论约2个选择:
我们刷新页面[实际上没有 加载整个页面,但制作 另一个ajax调用,检索 帖子列表并使其消失 旧的,将PHP文件加载到 检索新帖子(包括我们刚刚发送的 ),然后在 的帖子列表中出现]。 专业版:1)我们确信用户在发布邮件列表后加载的内容是发送的真实邮件。所以它实际上会双重检查动作。 2)我们也加载了一些可能的帖子。 缺点:1)我们必须创建一个PHP文件来获取帖子列表模板,并将该页面的模板切片为2个文件。 2)这对我来说并不那么顺利。
我们只是使用Javascript来获得发布模板,将其添加到列表中。 专业:1)我们使它非常流畅,无需重新加载整个页面。 2)我们不需要任何PHP文件来重新加载页面。我们只使用Javascript(jQuery)。 缺点:1)我们如何获得post html模板以将其添加到列表中? 2)我们如何在没有PHP的情况下获得用户(登录)的信息?
第三个问题:它是更好的第一或第二个解决方案?你会提供更好的第三方案吗?
PHP页面
的PHP网页,将收到此AJAX调用:?p=action&a=sendpost
。该页面需要$_POST['myMessage']
被设置,而不是空的,没有别的。该页面本身将从cookie中获取所有用户的信息,并将管理执行所需的查询。
应用
这3个部分分为:应用,模板,图书馆。基本上每个应用程序页面都有自己的.app.php
和.tpl.php
文件。
- 的
.app.php
文件管理页面的基础建设 ,使用从库类 和其他的东西。在 我们的情况下,它从 数据库检索数据,并将它们放入 变量。 - 该模板在
.app.php
文件的末尾被调用。.app.php
文件将检索到的数据和.tpl.php
文件发送给模板。 - 该库用于包含我们在应用程序文件中需要的类和函数。
第四问题:这是管理我的web应用程序的一个好办法吗?
编辑:如何将警报消息返回给用户?
我阅读了一个选项,其中$.ajax()
将管理成功或错误响应。关于它的文档非常简单,我没有得到它。
第五问题:我应该如何回报(从PHP文件)错误 或成功?
你有没有考虑过jQuery表单插件(http://malsup.com/jquery/form)? – Tomba 2011-02-08 11:48:58
真正的问题不在于提交过程中,而在于接下来会发生什么(刷新帖子列表)。无论如何,感谢jQuery表单插件,这可能会帮助我很多。 – Shoe 2011-02-08 11:52:37