【问题标题】:How to efficiently implement AJAX on a dynamic PHP website after it is completed完成后如何在动态PHP网站上高效实现AJAX
【发布时间】:2017-03-16 00:51:20
【问题描述】:

我正在使用 PHP 和 MySQL 从头开始​​实现一个博客(一个 CMS),并且使用这些语言几乎完成了它。我没有使用 Javascript 和 AJAX 来发送键/值对。但我正在考虑异步添加 AJAX 函数,以使其尽可能动态。我的问题是:

用PHP完成我的整个博客系统后是否可以实现AJAX?

换句话说,为了澄清我的问题,在完成这个网站之后,我可以添加 AJAX 而不会有任何冲突吗?或者是否有必要考虑在 CMS 开发“之前”和系统开发期间合并 AJAX?

提前感谢您的回答。

【问题讨论】:

  • 当然。您可能需要进行一些重构,具体取决于您希望如何实现它,但这只是开发周期的正常部分......

标签: javascript php ajax content-management-system ecmascript-5


【解决方案1】:

对不起,我不同意彼得的观点。我的答案是停止你的工作,开始学习 AJAX。

是的,Pure PHP 可以在启用/不启用 javascript 的情况下完美运行。但是来吧,几乎我们中的大多数人都在启用 javascript。大多数设备默认启用 javascript。只有体验用户知道如何以及何时需要禁用 javascript。否则我们无法享受世界上大多数流行的网站。我们不能使用 fb 聊天,我们不知道什么时候我们有新的电子邮件而不刷新它。事实上,我们仍然可以提供有/没有 javascript 的工作网站(尽管根据我的经验,大多数 ajax 用户会忘记/忽略提供没有启用 javascript 的工作网站)

我自学PHP,办公室里没有懂编程的朋友。

我学习 HTML、CSS、PHP 和 mysql。尝试在我的办公室实施。我建立我的网络。示例是使用 PAGINATION 创建 TABLE。我将 HTML 和 PHP 作为 1 页。[版本 1]

table.php
<?php 
if(!isset($_GET['page']) $table=getDataFromDB($_GET['page']); 
else $table=getDataFromDB(0);

<table>
foreach($table as $row)
{
echo blablabla
}
</table>
?>

但是当我需要一些需要 AJAX 的功能时。我学习了 AJAX,然后我意识到:

  1. AJAX更快(我们不需要再次加载HTML、CSS、js,只需发送和获取我们需要的数据)

  2. 某些功能只能通过 AJAX 实现,例如:聊天、实时图表

  3. AJAX 让用户更舒适,让我们的网站更具交互性

  4. 大多数流行网站都使用 AJAX。例如:gmail、twitter(大部分,但不是全部。因为 AJAX 也有弱点)

然后我在我的网络上实现 AJAX [版本 2]。我觉得几乎要重新创建我的网络 70-80%。我必须更改以前代码中的大部分内容。因为 ajax 的工作方式不同

table.php (DISPLAY)
<?php 
<table>
AJAX CONTENT WILL BE HERE
</table>
<script>YOUR JAVASCRIPT AJAX THAT CALL process.php TO FILL THE TABLE</script>
?>

process.php
<?php
if(!isset($_GET['page']) $table=getDataFromDB($_GET['page']); 
else $table=getDataFromDB(0);
foreach($table as $row)
{
echo blablabla
}
?>

如果有人告诉我

A:“我完成了有关 HTML、CSS、PHP 的学习。你能告诉我我可以制作的简单网站吗?”

我:不要先建网站。先了解 AJAX,然后尝试建立网站。因为当你知道到底什么是ajax时,你会破坏你的旧网站

如果您很难找到答案。尝试构建表 使用纯 PHP 进行分页,然后使用 AJAX 构建第二个。你会 知道有什么不同

所以我的建议是:如果你的项目只是为了学习和实践。停下来吧。先学ajax,再建网站。但是,如果您的项目是您的办公室任务。只需构建它直到完成。然后学习ajax。否则你的老板会解雇你,因为几乎摧毁了那里的一切。

最后一件事不在您的问题中(仅供参考)。当我学习 MVC [版本 3] 时,我开始一次又一次地重新创建我的网站。我现在使用codeigniter

【讨论】:

  • 非常感谢您回答@plonknimbuzz。我很感激,我同意你的看法,因为它s not ease to use ajax over PHP code, because, for example, the header ('Location') method that just when i called a responseText via AJAX the entire web page appears. i must say as well that my code is not made on object oriented Programing, so i cant 再次使用该代码,但我现在正在尝试另一个严重的问题,我将写一篇新文章发布这项工作中最困难的问题。谢谢大家的支持。
【解决方案2】:

简单地说,答案是肯定的。

不管这是最好的路线,我想这是个人的,但不是我喜欢的。我认为最好在前面规划所有步骤/功能(尽管并非总是可行)。

一件好事是,即使用户/浏览器禁用了 javascript,您也确信您的 CMS/博客可以正常工作。

【讨论】:

    猜你喜欢
    • 2018-08-08
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 2018-04-23
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 2011-01-11
    相关资源
    最近更新 更多