2011-04-18 57 views
0

目前我有一个功能可以检查网页是否可以访问。我会在while循环中大约100次调用这个函数,这意味着它有时会持续5分钟来检查所有这100个网页。 我以前从未使用ajax,但我认为用ajax解决这个问题是一个好主意,但是我从未使用过ajax,也不知道如何开始。你能给我一个好的提示吗?感谢您的每一个回答!检查网页是否可以通过php访问并用ajax刷新

+0

什么?麻将?阙? – Neal 2011-04-18 18:10:08

回答

1

我会使用jquery-ajax,使它更简单。 所以把jquery放到你的网站上即可。

这是jQuery的AJAX是如何工作的:

$.ajax({ 
    type: 'POST', 
    url: '--LINK TO PHP/ASP...---', // Place the link that has the command 
    data: dataString, // dataString is a json encode of the data that is sent to the file 
    dataType : 'json', 
    beforeSend:function(){ 
     // Before you send the info, do what you want here (ie loading gif...) 
    }, 
    success:function(data){ 
     // If it is successful, then it will do what you want here.   
    } 
}); 

我希望这有助于。

+0

不要忘记,AJAX只能在同一个域上工作 - 如果它是他想检查的另一个站点,你必须在服务器上创建一个脚本来检查状态并通过AJAX – fin1te 2011-04-18 18:14:34

+0

感谢您的帮助! – silvert 2011-04-19 08:15:33

0

我建议你使用JQuery Ajax,比较容易实现。

$.ajax({ 
    url: "test.html", 
    context: document.body, 
    success: function(){ 
    $(this).addClass("done"); 
    } 
}); 
0

从你的(有点不明确的)描述中,我会说使用AJAX来控制网站验证将是一个非常不恰当的方法。

相反,更明智的做法是通过使用cron触发的PHP cli脚本“批处理”网站数据。

因此,一旦你插入相关领域到数据库表中有“处理”标志设置为假,后台脚本,然后将:

  1. 扫描网页,AREN数据库在您所需的时间内未被标记为已检查。

  2. 开展卷曲查找等

  3. 更新数据库记录相应地与当前的时间戳。

    ...

为了确保与现有执行批处理脚本没有重叠,你应该只调用PHP脚本在cron中每五分钟(的PHP脚本本身内)检查多久脚本一直在“扫描”阶段开始运行,如果运行了四分钟或更长时间,脚本就会退出。 (你可能想调整这些数字,但希望你可以看到我要去哪里)

通过使用这种方法,你将能够让后台脚本无限期地运行(因为它是通过cron调用的,它会在重新启动后自动启动等),并简单地将网页添加到数据库/通过单独的Web前端查看处理结果等。

您当然可以使用AJAX从客户端显示的角度获取数据库当前状态的常规摘要。

相关问题