从ajax请求中获取数据,是否可能?

时间:2010-06-09 16:34:06

标签: php javascript

当我需要从网站获取内容时,我使用file_get_content()函数,但现在我需要获取一个数据,该数据在ajax请求后加载。所以我不能提到确切的网址。 有没有算法做这些事情?

感谢。

4 个答案:

答案 0 :(得分:3)

如果我正确理解你的问题,你想在加载AJAX数据的网站上做一个file_Get_content ......这是一个客户端进程,当客户端的浏览器点击它时会发生这种情况,当你正在制作一个服务器端请求你不会看到它。

最好的办法是通过firebug中的NET面板找到ajax请求的信息,然后在单独的文件中获取有关该信息的请求获取内容调用。

答案 1 :(得分:0)

您可以附加到Rhino之类的JavaScript实现,但这将是一条漫长而痛苦的道路。

答案 2 :(得分:0)

使用firebug(firefox)中的Net Panel或Chromes Developer Tools中的资源面板,您可以从特定页面观看AJAX调用。然后,您可以在javascript中调用相同的请求,或使用php脚本充当页面的代理。如果您想使用PHP代理方法,可以使用file_get_contents或cURL来获取更高级的请求(例如POST数据)。然后我会建议缓存数据,这样就不会让你不知道从哪里获取信息并缩短脚本执行时间。

如果包含数据的网页的网址发生变化,那么您可以使用正则表达式根据网页的工作方式查找网页中的网址

答案 3 :(得分:0)

听起来您想要从远程服务器上的页面中获取特定内容。您可以考虑使用jQuery的load()函数:

$('#my_container').load('local_proxy.php #container');

由于跨域安全原因,您的本地代理将处理file_get_contents()远程调用,但它会从id“container”(即<div id="container">)的远程元素加载内容并将其直接传递到您的“my_container”。

不确定这是否是你正在寻找的东西,但是用一行js来做这么多很好......:P