Wordpress 访问Ajax Enqued文件以传递到Ajax调用URL的问题
我试图访问WP主题目录中的定制php文件,以传递给jqueryajax调用。我在Wordpress 访问Ajax Enqued文件以传递到Ajax调用URL的问题,wordpress,wordpress-theming,Wordpress,Wordpress Theming,我试图访问WP主题目录中的定制php文件,以传递给jqueryajax调用。我在function.php中添加了foloowing代码来注册脚本和php文件 function add_ajax() { wp_enqueue_script( 'addproducts', get_template_directory_uri() .'/js/addproducts.js', array('jquery'),'',true ); wp_localize_script('addproducts',
function.php
中添加了foloowing代码来注册脚本和php文件
function add_ajax() {
wp_enqueue_script( 'addproducts', get_template_directory_uri() .'/js/addproducts.js', array('jquery'),'',true );
wp_localize_script('addproducts', 'ajax_custom', array('ajaxurl' => admin_url('session.php')));
}
add_action( 'wp_enqueue_scripts', 'add_ajax' );
现在在我的JavaScript文件中,我试图传递url,比如url:ajaxurl
var request = $.ajax({
type: "POST",
url: ajaxurl,
但是我得到的ajaxurl没有定义
错误
addproducts.js?ver=4.9.6:6未捕获的引用错误:ajaxurl不是
定义
在兰开夏。(addproducts.js?ver=4.9.6:6)
在htmlanchorement.dispatch(jquery.min.js?ver=4.9.6:3)
在htmlanchorement.r.handle(jquery.min.js?ver=4.9.6:3)
您能告诉我缺少什么吗?在您的functions.php中添加此代码
var request = $.ajax({
type: "POST",
url: ajax_custom.ajaxurl,
您需要调用ajax\u custom,因为它是您的ajaxurl的对象
还有另一种选择是可能的
添加动作('wp_head','myplugin_ajaxurl')
函数myplugin\u ajaxurl(){
回声'
var ajaxurl=“'.admin_url('admin-ajax.php')”;
';
}
添加_action('init','myplugin_ajaxurl');
function myplugin_ajaxurl() {
echo '<script type="text/javascript">
var ajaxurl = "' . admin_url('admin-ajax.php') . '";
</script>';
}
add_action('init','myplugin_ajaxurl');