-2

開発サーバーでは機能するが、ステージング サーバーでは機能しないスクリプトがいくつかあります。

    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 がヘッダーに配置されますが (dev と同じように)、「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>
4

1 に答える 1

0

ステージング サーバーをセットアップした人は、サイトが wp-admin 領域のファイルにアクセスできないように管理者側に .htaccess を配置しました。

于 2013-04-30T14:36:28.727 に答える