在WordPress中,我正在尝试使用Ajax将数据插入数据库中。
functions.php
function dataInsert(){
global $wpdb, $slidecount;
$slidecount = 25;
$wpdb->insert(
'custom_table',
array(
'slidecount'=> $slidecount
)
);
die();
return true;
}
add_action('wp_ajax_dataInsert', 'dataInsert');
add_action('wp_ajax_nopriv_dataInsert', 'dataInsert');
JavaScript // 我将insertDataJS函数放在footer.php中
<script>
function insertDataJS(){
console.log("insertDataJS start");
jQuery.ajax({
type: 'POST',
url: dataInsert.ajaxurl,
data: {"action": "dataInsert"},
success: function(data){
//alert(data);
}
});
console.log("insertDataJS end");
}
</script>
当我尝试调用insertDataJS()
函数时,出现以下错误消息:
未捕获的ReferenceError:未定义dataInsert 在insertDataJS((index):303) 在HTMLDivElement。 ((索引):444) 在HTMLDivElement.dispatch(jquery.js?ver = 1.12.4:3) 在HTMLDivElement.r.handle(jquery.js?ver = 1.12.4:3) 在Object.trigger(jquery.js?ver = 1.12.4:3) 在n.fn.init.triggerHandler(jquery.js?ver = 1.12.4:3) 在Object.changeTo(在(layerslider.kreaturamedia.jquery.js?ver = 6.7.6:13处评估), :1:53999) 在Object.eval(在(layerslider.kreaturamedia.jquery.js?ver = 6.7.6:13的eval处), :1:131795) 在Object.g._callback(greensock.js?ver = 1.19.0:20) 在Object.g.render(greensock.js?ver = 1.19.0:21)
请分享任何想法!
答案 0 :(得分:0)
正如@Inazo和@Outsource在他们的答案中建议的那样,我通过使用ajaxurl javascript变量引用admin-ajax.php文件来对其进行了改进。我在前端声明了这一点,方法是将以下内容放在主题的footer.php中。
<script type="text/javascript">
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
</script>