WordPress的:ajax_url没有定义

时间:2019-07-12 05:29:44

标签: wordpress

嗨,我是wordpress的初学者,目前在通过ajax从前端向服务器发送数据时遇到问题。 我想将我的选择选项值(#sheetList)发送到服务器。要检查该值是否正确传递,我希望收到“警报”作为响应。

我已将我的js代码放在ajaxRequest.js中,并在functions.php中添加了本地化脚本。 但是我仍然收到此错误:

Uncaught ReferenceError: my_ajax_object is not defined

有人知道如何解决此问题吗? 这是我的代码:

js

jQuery(function($input) {
	$('#sheetList').on('change', function(e){
		e.preventDefault();

		$.ajax({
			type: 'POST',
			url: my_ajax_object.ajax_url,
			data: {
				action: 'data_custom_ajax',
				data: $('#sheetList').val()
			},
			success: function(data) {
				alert(response);
			}
		})
	});
	
});
 

functions.php

/** AJAX Request script */

function my_enqueue() {
	wp_enqueue_script( 'ajax-script', get_template_directory_uri().'/js/my-ajax-script.js',
		array('jquery'));
	wp_localize_script( 'ajax-script', 'my_ajax_object',
		array( 'ajax_url' => admin_url( 'admin-ajax.php')));
}
add_action( 'wp_enqueue_scripts', 'my_enqueue');

function data_custom_ajax() {
	$custom_val = $_POST['text'];

	echo json_encode(array("data_result"=> $custom_val));
	die;
}

add_action('wp_ajax_nopriv_data_custom_ajax', 'data_custom_ajax');
add_action('wp_ajax_data_custom_ajax', 'data_custom_ajax');

1 个答案:

答案 0 :(得分:0)

欢迎来到stackoverflow! 您将my-ajax-script.js文件包含在functions.php文件中,但是您说过JS脚本位于ajaxRequest.js文件中。

还要确保完全包含您的js代码。您可以通过在文件顶部放置警报或console.log('SOMETHING');来对其进行测试。