我正在写一个插件。当有人按下我的wordpress插件设置页面中的按钮时,我想运行方法get\\u my\\u选项。进行了ajax调用,但该方法从未运行。
在页面中,我有以下代码:
<div class="wrap">
<input type="button" value="test" onclick="my_js_function();"/>
</div>
<?php
wp_enqueue_script( \'function\', plugins_url( \'/js/synchandler.js\',__FILE__), array(\'jquery\'));
wp_localize_script( \'function\', \'my_ajax_script\', array( \'ajaxurl\' => admin_url( \'admin-ajax.php\' ) ) );
function get_my_option()
{
//do something
die();
}
add_action("wp_ajax_nopriv_get_my_option", "get_my_option");
add_action("wp_ajax_get_my_option", "get_my_option");
?>
添加的synchandler。js文件:function my_js_function()
{
jQuery.ajax({
url: my_ajax_script.ajaxurl,
type: \'POST\',
data: ({ action: \'get_my_option\', affiliate: \'daisycon\' }),
success: function (response) {
console.log("got this: " + response);
}
});
}
有一个响应,但这是一个0,因此javascript添加得很好,但仅此而已。通过运行此命令,我的日志中没有错误。页面中添加了AjaxURL(似乎是一个常见错误)。/* <![CDATA[ */
var my_ajax_script = {"ajaxurl":"http:\\/\\/mywebsite.net\\/wp-admin\\/admin-ajax.php"};
/* ]]> */
触发它的按钮使用onclick="my_js_function();
在HTML上button
-标签方法虽然简单get_my_option
不会被ajax调用触发。我做错了什么?