自动发送后数据用在页面加载

问题描述:

我使用WordPress 3.3.1抓住来自该行的POST_ID了jQuery PHP,自动发送后数据用在页面加载

<div class="mppt_postid"><b>'.$post_id.'</b></div> 

,然后使用下面的jQuery脚本发送POST_ID数回使用带有AJAX的$ _POST ['postid']加载页面上的WordPress php文件,然后用php脚本返回的数据替换post_id数字,这是另一个数字(访问者数量)。下面的jQuery脚本不起作用,我不知道如何触发.post在页面加载时自动发送数据。

jQuery(document).ready(function() { 
    var postid = $('div.mppt_postid').attr('b'); 
    jQuery.post(mppt_ajax_script.ajaxurl, postid.serialize() 
    , function(data) { 
     jQuery('.mppt_postid').replaceWith(data); 
    } 
    ); 
}); // end ready 
+0

。员额()等于阿贾克斯()和.post()在旧版本的IE下不起作用。尝试坚持使用.ajax() – 2012-02-15 13:40:39

我不明白你为什么需要使用ajax。帖子ID在页面加载过程中通过$ post-> ID提供。您可以将此发送给获取并返回访客数量的函数。

function get_visitor_count($id) 
{ 
    //do your magic to get the visitor info 
    return $visitor_count; 
} 

然后用

<div class="mppt_postid"><b><?php echo get_visitor_count($post->ID); ?></b></div> 

替换原密码如果您需要更新通过AJAX的计数改变你的代码,以

var postid = <?php echo $post->ID; ?>; 
+0

该页面使用Bat Cache进行缓存,因此PHP函数不会在每次页面加载时执行。 – 2012-03-14 20:54:10

+0

如果该插件是服务器端缓存而不允许php在每个页面加载时执行,我不会使用该插件。页面加载时获得的200毫秒是不够的,现在不得不使用服务器和客户端脚本解决这个问题(AJAX&jQuery)。你最好使用客户端缓存和mod_pagespeed来进行服务器端缓存。这样可以将静态内容缓存起来,并且可以更有效地处理动态内容(您拥有的内容)。 – Nick 2012-03-14 21:55:25