ajax不调用函数,给出错误的响应

时间:2014-03-11 13:47:55

标签: jquery ajax wordpress plugins

我正在尝试在wordpress插件中进行ajax调用,这里是构造函数的代码!

//动作

 add_action('init', array($this,'plugin_license_init'));
    add_action('wp_ajax_nopriv_plicense_getlicense', 'plicense_ajax_getlicense');
    add_action('wp_ajax_plicense_getlicense', 'plicense_ajax_getlicense');

<script src="http://code.jquery.com/jquery-1.11.0.min.js" type="text/javascript">

        </script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js "></script>
        <script type="text/javascript">
                    jQuery(document).ready(function($){

//on button click event

        $("#regenerate_license").click(function() 
        {
                //$('.plic-loading-icon').show();
            // jquery.post has 3 parameter

            $.post( ajaxurl, {'action': "plicense_ajax_getlicense"}, function(response) 
                     {
                        alert(response);

                        $("#license_key").val(response);
                        //$('.plic-loading-icon').hide();
                     }
                 );
    });
});
        </script>

//我要调用的函数

public function plicense_ajax_getlicense() 
    {

        global $plicense_settings;
        //$this->plicensing_generate_guid( );
        echo "hey";
    }

//点击按钮时......我得到的回复是

<style>         .h{             width:98%;              height:4em;             border-style:solid ;................       {                        alert(response);                        $("#license_key").val(response);                        //$('.plic-loading-icon').hide();                     }                 );    });});        </script>       0

它是同一个html页面的源代码

2 个答案:

答案 0 :(得分:0)

您可以从两个jQuery库中删除一个库:

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script  src="http:.../libs/jquery/1.9.1/jquery.min.js "></script>

你可以删除第二个。

答案 1 :(得分:0)

稍微改变你的codd 更改jQuery中的action函数,这将解决问题

$.post( ajaxurl, {'action': "plicense_getlicense"}, function(response) 
  {
         alert(response);
         $("#license_key").val(response);
         //$('.plic-loading-icon').hide();
   }
   );