数据变量返回为[object Object]

时间:2019-02-08 17:09:04

标签: php jquery

我有一个带有数据的按钮:

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;
  }
}

1 个答案:

答案 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/'