有关访问Ajax所需文件以传递给URL进行Ajax调用的问题

我试图访问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');

    推荐阅读