Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP和jQuery预取内部页面_Php_Jquery_Ajax_Modx Revolution_Prefetch - Fatal编程技术网

使用PHP和jQuery预取内部页面

使用PHP和jQuery预取内部页面,php,jquery,ajax,modx-revolution,prefetch,Php,Jquery,Ajax,Modx Revolution,Prefetch,我正试图为我正在构建的ModX Revo站点构建一个预取程序 我现在在行中遇到了语法错误 我怎样才能让它正常工作 我将其作为 代码如下: <?php header('Content-Type: text/javascript'); require_once($_SERVER['DOCUMENT_ROOT'] . '/assets/php/m.inc.php'); //if(!@$_SESSION['AlreadyPrefetched']){ $sql = "Select `p

我正试图为我正在构建的ModX Revo站点构建一个预取程序

我现在在
行中遇到了
语法错误

我怎样才能让它正常工作

我将其作为

代码如下:

<?php

header('Content-Type: text/javascript');

require_once($_SERVER['DOCUMENT_ROOT'] . '/assets/php/m.inc.php');

//if(!@$_SESSION['AlreadyPrefetched']){
    $sql = "Select `pagetitle`, `longTitle`, `uri` From `modx_site_content` 
            Where `type` = 'document' And `published` = 1 AND 
            (`uri` <> 'portfolio/item' And `uri` <> 'error-page-401' And `uri` <> 'sitemap.xml' And `uri` <> 'error-page-404' And 
            `uri` <> 'error-page-other' And `uri` <> 'index')";
    $qry = $modx->query($sql);
    $rows = $qry->fetchAll(PDO::FETCH_ASSOC);
    $rCt = count($rows);
    if($rCt > 0){
        $_SESSION['AlreadyPrefetched'] = true;
        echo '<script type="text/javascript">
                $(window).on("load", function(){
                    alert("Prefetch Active");';
                for($i = 0; $i < $rCt; ++$i){
                    echo '      $.ajax({ url:"/'. $rows[$i]['uri'] .'", cache:true, dataType:"text", success:function(){}, error:function(){} });';
                }
        echo '  });
            </script>';
    }   

    unset($rows);
//}
?>
query($sql);
$rows=$qry->fetchAll(PDO::FETCH_ASSOC);
$rCt=计数($rows);
如果($rCt>0){
$\会话['AlreadyPrefetched']=true;
回声'
$(窗口).on(“加载”,函数(){
警报(“预回迁活动”);
对于($i=0;$i<$rCt;++$i){
echo'$.ajax({url:'/'.$rows[$i]['uri'].'”,缓存:true,数据类型:“text”,成功:function(){},错误:function(){});
}
回声'});
';
}   
未设置($行);
//}
?>
观察FireBug,对prefetch.php的请求将返回正确的内容类型…

您将输出两次
。在HTML中,您有
,并且从prefetcher.php内部,您再次回显
。您需要从PHP文件中取出脚本标记