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