嗨,我是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');
答案 0 :(得分:0)
欢迎来到stackoverflow!
您将my-ajax-script.js
文件包含在functions.php
文件中,但是您说过JS脚本位于ajaxRequest.js
文件中。
还要确保完全包含您的js代码。您可以通过在文件顶部放置警报或console.log('SOMETHING');
来对其进行测试。