我试图访问WP主题目录中的自定义php文件, 以传递给jQuery Ajax调用。我在function.php中添加了以下代码来注册脚本和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未捕获的ReferenceError:在HTMLAnchorElement上未定义ajaxurl。 (addproducts.js?ver = 4.9.6:6)在HTMLAnchorElement.dispatch(jquery.min.js?ver = 4.9.6:3)在HTMLAnchorElement.r.handle(jquery.min.js?ver = 4.9.6) :3)你能让我知道我在想什么吗?
#1将此代码添加到你的functions.php中
var request = $.ajax({
type: "POST", url: ajax_custom.ajaxurl,
你需要调用ajax_custom, 因为它是ajax网址的对象
还有另一种选择
【有关访问Ajax所需文件以传递给URL进行Ajax调用的问题】add_action(‘ wp_head’ , ‘ myplugin_ajaxurl’ );
function myplugin_ajaxurl() {echo '<
script type="text/javascript">
var ajaxurl = "' . admin_url('admin-ajax.php') . '";
<
/script>
';
}
add_action('init', 'myplugin_ajaxurl');
推荐阅读
- 将第二个自定义菜单添加到全局上下文时出现的问题
- Laravel Blade的$loop变量在Sage 9视图中可用吗()
- 是否可以重新注册未注册的WordPress侧边栏()
- 是否可以在Vue2 Js或React.Js中制作WordPress主题()
- 是否可以从其他服务器托管WordPress数据库
- 在WordPress的出现我的主题没有背景描述它
- 在WordPress中如何以正确的方式编写post mata( [关闭])
- 在woocommerce中,如何在结帐页面上添加参与者列表并在订单详细信息页面中显示
- Linux中dhcp分配地址