Передача значения массива с помощью ajax в Wordpress - PullRequest
0 голосов
/ 11 июня 2019

Я сделал вызов ajax от jQuery.ajax и попробовал вот так

        jQuery.ajax({
            url: wpgiftstoreAjax.ajaxurl, 
            type: 'POST',
            dataType: 'JSON',
            data: {
                action: 'addgiftTocart',
                giftData: gdata,
            },
            success: function( data ) {
                console.log(data);
            }
        })

Я получил "gdata" этим

var gdata = JSON.stringify(GiftData);

Но здесь я не могу получить строковые данные, подобные этим. Я получил пустой массив. Перед строкой я попытался использовать этот код и получил массив с данными.

console.log(GiftData);

Так что я не могу понять, в чем проблема с этим. Пожалуйста, помогите мне с этой проблемой и заранее спасибо.

Мой общий код, который я пробовал

    GiftData = [];
    GiftData['boxProduct'] = [];
    GiftData['boxName'] = jQuery('#giftbox-data .box-data').text();
    jQuery('#giftbox-data .prod-data .product').each( function(i) {
        GiftData["boxProduct"][i] = [];
        GiftData['boxProduct'][i]['id'] = jQuery(this).find('.prod-name').attr('prodid');
        GiftData['boxProduct'][i]['num'] = jQuery(this).find('.prod-num').text();
    })
    GiftData['boxSenderInfo'] = jQuery('#giftbox-data .sender-info .gift-sender').text();

1 Ответ

0 голосов
/ 11 июня 2019

Единственная проблема, которую я сделал в вышеприведенном коде, - это иметь квадратную скобку «[» вместо «{».

Это должно быть так

    GiftData = {};
    GiftProdData = {};
    GiftData['boxProductData'] = {};
    GiftData['boxName'] = jQuery('#giftbox-data .box-data').text();
    jQuery('#giftbox-data .prod-data .product').each( function(i) {
        GiftData["boxProductData"][i] = {};
        GiftData['boxProductData'][i]['id'] = jQuery(this).find('.prod-name').attr('prodid');
        GiftData['boxProductData'][i]['num'] = jQuery(this).find('.prod-num').text();
    })

Спасибоза сотрудничество.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...