如何将我的AJAX调用包含在一个函数中,而不是每次都调用不同的函数?

时间:2014-10-07 作者:user3849925

我这样做是为了刷新小部件:

add_action( \'admin_footer\', \'my_action_javascript\' ); // Write our JS below here


function my_action_javascript() { ?>
<script type="text/javascript" >
jQuery(document).ready(function($) {

    var data = {
        \'action\': \'refresh_function_one\',
    };

            setInterval(function() {
    $.post(ajaxurl, data, function (result) {


                $("#Firstdiv").html(result);

    });

            },5000);

});
</script> <?php
}

add_action(\'wp_ajax_refresh_function_one\', \'function_one\');
但我有几个这样的调用,例如,第二个调用是相同的,但具有不同的值,例如:

add_action( \'admin_footer\', \'my_action_javascript2\' ); // Write our JS below here


function my_action_javascript2() { ?>
<script type="text/javascript" >
jQuery(document).ready(function($) {

    var data = {
        \'action\': \'refresh_function_two\',
    };

            setInterval(function() {
    $.post(ajaxurl, data, function (result) {


                $("#Seconddiv").html(result);

    });

            },5000);

});
</script> <?php
}

add_action(\'wp_ajax_refresh_function_two\', \'function_two\');
我的代码工作得非常好,我只是希望它“看起来”更好,而不是使用太多的代码。我尝试过使用某种循环,但运气不太好。任何帮助都将不胜感激,谢谢!

1 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

如果你想让你的代码看起来很好,你应该先正确格式化它。除此之外,您还可以将AJAX(或者确切地说是jQuery/javascript)组合到一个块中。实际上,您应该将其放在一个单独的javascript文件中,但您可以在AJAX in Plugins 在Codex页面上(从哪里获得代码)或WP the right way book.

add_action(
    \'admin_footer\',
    \'my_action_javascript\'
);
function my_action_javascript() {
?>
    <script type="text/javascript" >
        jQuery( document ).ready( function( $ ) {
            var data_one = {
                    \'action\': \'refresh_function_one\',
                },
                data_two = {
                    \'action\': \'refresh_function_two\',
                };

            setInterval( function() {
                    $.post( ajaxurl, data_one, function( result ) {
                        $( "#Firstdiv" ).html( result );
                    } );
                    $.post( ajaxurl, data_two, function( result ) {
                        $( "#Seconddiv" ).html( result );
                    } );
                },
                5000
            );
        } );
    </script>
<?php
}
add_action(
    \'wp_ajax_refresh_function_one\',
    \'function_one\'
);
add_action(
    \'wp_ajax_refresh_function_two\',
    \'function_two\'
);

结束

相关推荐

如何使用WPML转换jQuery脚本中的字符串?

我制作了这个脚本,用于更改自定义元素上的一些颜色。我的问题是,我找不到在href属性中本地化链接的方法。有没有一个简单的方法可以让我做到这一点?/* Wilfa Svart Color Change Function */ jQuery(document).ready(function() { jQuery(\'.precision-link-color-1\').on(\'click\', function(e){ e.preventDefault();