1
var fullpath = '<?php echo site_url(); ?>'
function AjaxRequest(section,divName)
    {

             var pageurl = fullPath+"/ajaxrequest.php?section="+section+"&divName="+divName;         
            //alert(pageurl);   

            var xmlhttp;
            if (window.XMLHttpRequest)
              {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
              }
            else
              {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
            xmlhttp.onreadystatechange=function()
              {
              if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                             document.getElementById(divName).innerHTML='';             
                    document.getElementById(divName).innerHTML=xmlhttp.responseText;
                }
              }
            xmlhttp.open("GET",pageurl,true);
            xmlhttp.send();             

    }

我在 wordpress 中有一个类似的代码,它使用 ajax 调用页面。当页面进入像 ?page_id=37 这样的 ID 时它工作正常,但是当我激活像 /overview/ajaxpage 这样的永久链接时停止工作。我在 xmlhttp.readyState 上收到 404 pafe 错误。任何人都可以帮我解决它。我知道这是一个永久链接问题,可能这个 ajax 代码不足以转换永久链接。

4

2 回答 2

0

您好,我更改了一些代码,这可能对您有用。

function AjaxRequest(section,divName)
{

<?php global $wpdb; ?>

             var pageurl = "<?php echo get_option('sitgeurl'); ?>/ajaxrequest.php?section="+section+"&divName="+divName;         
            //alert(pageurl);   

            var xmlhttp;
            if (window.XMLHttpRequest)
              {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
              }
            else
              {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
            xmlhttp.onreadystatechange=function()
              {
              if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                         document.getElementById(divName).innerHTML='';             
                    document.getElementById(divName).innerHTML=xmlhttp.responseText;
                }
              }
            xmlhttp.open("GET",pageurl,true);
            xmlhttp.send();             

}
于 2012-12-17T12:59:44.907 回答
0

没有理由在 AJAX 请求中使用永久链接。如果只有永久链接,请尝试使用url_to_postid()找到他们的 id并使用它。(正如您已经知道的那样,帖子 ID 效果很好)

于 2012-12-17T10:51:02.683 回答