2012-07-02 44 views
1

有没有办法将一个PHP页面中生成的结果(通过ajax post请求调用进行操作)以位/间隔的形式传递回文档?有没有办法以块/增量返回ajax POST结果?

下面是一个例子...

我想提出一个ajax POST到PHP文件通过该扫描几个网站,以确定他们是否有资源搜索的用户通过关键字。如果他们做的PHP文件返回到该网站的链接,并继续到下一个,如果没有,我会继续下一个..

与ajax(我使用jQuery)我可以提出这个请求并等待页面加载,然后显示所有链接在一起easilly,但我想知道如果我可以显示链接逐一从PHP文件加载,这样我就不必等待检查。

谢谢您的输入。

回答

4

您可以通过让客户端发送第一个X(5或其他)结果的请求来实现这一点,显示这些结果,然后立即发送对下一个X记录的请求。您的客户只会继续提出请求并显示记录,直到收到空的回复,此时检索完成。

要做到这一点,您需要维护服务器上的状态,以便您知道搜索的“哪里”来提取搜索,或者客户端需要在每个AJAX请求中包含足够的信息以便了解服务器继续处理。

顺便说一句,这看起来更像是一个GET操作而不是POST。

+0

这听起来像是一个很好的解决方案。你能给我一个这种类型的Ajax请求的例子吗?它会在一个while循环吗?反正也有用户取消它吗?谢谢 – codelove

+0

'while'循环将在客户端,在Javascript中,只是等待来自服务器的空响应。在服务器上(我不写PHP,所以我不能帮你),每个“部分”搜索将是处理请求的代码的完整调用,然后它将收集请求的结果数量,返回他们,并终止(然后重新调用下一个请求)。 –

+0

是的,你可以允许客户端的用户点击一些可以终止在浏览器中运行的while循环的东西。 –