只能用php调用定期的AJAX调用

时间:2017-08-15 21:24:32

标签: php mysql ajax

我正在创建一个使用MySQL数据库和PHP API的移动应用程序。我需要在MySQL数据库更新时更新客户端UI。我被告知通过使用定期AJAX请求的方法。在做了一些研究后,看起来AJAX请求与jquery有关。我可以仅使用PHP代码创建定期的AJAX请求吗?

3 个答案:

答案 0 :(得分:0)

AJAX实际上是一个XMLHttpRequest,简单地说就是异步HTTP请求。

JQuery可以使用jquery.ajax函数为您处理大部分编码。

如果你想使用php进行ajax调用(或只是普通的HTTP请求),你需要检查PHP Cron jobs

在服务器端工作时,您可以使用PHP Curl来执行HTTP请求,而不是在cron作业中使用ajax。 Ajax调用仅在客户端完成。

把那些部分放在你想要的地方。

答案 1 :(得分:0)

AJAX代表异步JavaScript和XML。虽然它绝不仅限于发送XML数据,但它是通过JavaScript完成的。​​

当您的浏览器加载页面时,它会向URL发送请求,下载该页面的内容,然后跟随嵌入的内容(如图像,JS和CSS内容)以包含在页面中。一旦所有内容都受到限制,文档就会完成,浏览器会加载内容。

AJAX是一种机制,您可以在页面加载完成后调用服务器。您可以将数据发送到服务器,从服务器请求数据,并使用您收到的数据操作页面内容(无需重新加载)。

对于您的具体问题,您希望查看setInterval()函数来循环一个函数,以定期调用服务器端脚本(可以是PHP),这将返回更新数据,然后在客户端使用JavaScript根据收到的更新内容修改页面。

答案 2 :(得分:0)

根据我对你的问题和评论的理解,你有一个用Swift编写的移动客户端(所以我假设它是一个iOS应用程序?),以及一个用PHP运行的服务器。如前所述,不,您无法从PHP代码更新客户端:您需要在客户端和服务器之间进行某种通信。这里有三个主要选择:

  1. 使用投票。这涉及到您的客户不时发出HTTP请求(比如每分钟?或每两分钟?)。通过这种方式,您的客户端应用程序将不断询问服务器是否有任何更改,如果有,则会更新UI。缺点是,当您的数据库发生更改时,您的UI在下次HTTP呼叫之前不会更新,因此,如果您每5分钟拨打一次电话,您的客户端将不得不等待最多5分钟更新。如果您在通话之间花费的时间减少,则会产生大量流量(这是不可取的,特别是在可能产生数据费用的移动客户端中),并且可能会使用无用的请求使服务器过载。
  2. 使用长轮询。这是一种“智能”的轮询方式,允许您在发生更改时立即更新界面,同时减少对服务器的调用量。关于Stack Overflow的长轮询有很多问题。
  3. 使用推送通知。这允许您直接向用户的手机发送通知,即使您的应用程序未运行。但它们需要大量的安全性和配置。关于iOS here的推送通知有一个很好的教程。
  4. 不,在这种情况下,术语“AJAX”不适用,因为AJAX是指在网页中使用Javascript制作的服务器请求,而不是在用Swift编写的移动应用程序中;)