永久链接 Ajax 问题 WordPress.


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 出现时,它工作正常,但当我激活 Permalink 时停止工作,如/overview/ajaxpage。我在xmlhttp.readyState上收到404 pafe错误。谁能帮我解决它。我知道这是一个永久链接问题,可能这个 ajax 代码不足以转换永久链接。

没有理由在 AJAX 请求中使用永久链接。如果只是让永久链接尝试使用 url_to_postid() 找到他们的 id 并使用它。(如您所知,这适用于帖子 ID)

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

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();             
}

最新更新