我有一个带有数据的按钮:
data-boutique-id="<?php echo esc_attr(get_the_ID());
在我的main.js中,我有2个使用这2个变量的jQuery函数:
$fav = $('.fav-btn'),
boutiqueId = $fav.data('boutique-id');
我的on('click')
函数工作正常,它确实返回了data-boutique-id
。我的ready()
函数无法正常工作,并且变量boutiqueId
返回[object Object]
而不是ID。一定有我不知道的东西。
var $fav = $('.fav-btn'),
boutiqueId = $fav.data('boutique-id');
$fav.ready(function(theBoutique) {
$.ajax({
type: 'GET',
data: {
action: 'check-fav',
boutiqueId: theBoutique
},
url: '/wp-json/fav_ajax/v1/manage_fav/'
}).done(function(_data) {
console.log(_data);
});
});
function manage_fav_rest_route()
{
// Path to ajax
register_rest_route(
'fav_ajax/v1',
'/manage_fav/',
array(
'methods' => WP_REST_SERVER::READABLE,
'callback' => 'handle_rest_call'
)
);
}
function handle_rest_call()
{
$the_boutique = $_GET['boutiqueId'];
$the_action = $_GET['action'];
if ('check-fav' == $the_action)
{
return $the_boutique;
}
}
答案 0 :(得分:0)
我必须创建一个带有函数的事件。
$fav.ready(function( event ) {
console.log( "event ready!" );
// Validate user is logged in
if( isLoggedIn) {
checkFav( boutiqueId );
}
});
function checkFav( theBoutique ) {
console.log( "function ready!" );
$.ajax({
type: 'GET',
data: {
action : 'check-fav',
boutiqueId : theBoutique
},
url: '/wp-json/fav_ajax/v1/manage_fav/'