我已经完成了jQuery.ajax的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();
答案 0 :(得分:0)
我在上面的代码中唯一遇到的问题是使用方括号“ [”代替“ {”。
应该是这样
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();
})
谢谢您的合作。