我有一些脚本可以在我的开发服务器上运行,但不能在我的登台服务器上运行:
add_action('wp_head','get_gz_info',30);
function get_gz_info(){
?>
<script type="text/javascript" >
jQuery(document).ready(function($) {
var modal = {action:'modal_action'};
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
$.post(ajaxurl,modal,function(data){
$('body').append(data);
});
});
</script>
<?php
}
php大致是:
add_action('wp_ajax_modal_action', 'set_modal');
add_action('wp_ajax_nopriv_modal_action', 'set_modal');
function set_modal() {
...
}
在我的开发端一切正常,但 javascript 的暂存端放置在标题中(就像开发一样),但它不会运行“ajax 部分”。可能是暂存端需要用户名/密码才能访问它吗?
我已经尝试过使用和不使用 https 并得到相同的结果。
根据检查,这被设置为 ajaxurl,“...mysite.../wp-admin/admin-ajax.php”,因此正在实施 ajaxurl。奇怪的问题是它在一台服务器上按原样工作,但在下一台服务器上却不行。
----- 编辑 ----- html 将其显示为头部的 js(在 jquery 加载后)
<script type="text/javascript" >
jQuery(document).ready(function($) {
var modal = {action:'modal_action'};
var ajaxurl = '...mysite.../wp-admin/admin-ajax.php';
$.post(ajaxurl,modal,function(data){
$('body').append(data);
});
});
</script>