大家好我使用ajax来修改我网站上的div
我有这个功能完美,但我有一个问题,以获得返回的值
updatecart = function(qty, id_product) {
var currentVal, data, id, item_hash, request;
currentVal = void 0;
id = void 0;
data = void 0;
item_hash = void 0;
currentVal = parseFloat(qty);
id = parseInt(id_product);
request = $.ajax({
url: ajax_object.ajax_url,
method: 'POST',
data: {
quantity: currentVal,
id_product: id,
action: 'update_my_cart',
dataType: "json"
},
success: function(html, data) {
var array_fields, fields, pos, total_amount;
pos = html.indexOf("[");
fields = html.slice(pos + 1, -1);
array_fields = fields.split(',');
id = parseInt(array_fields[0].replace(/\"/g, ""));
total_amount = (array_fields[1] + ',' + array_fields[2]).replace(/[\\"]/g, '');
$('.total' + id + ' .woocommerce-Price-amount').replaceWith($(total_amount));
$('.amount_cart .amount').replaceWith('.amount', html);
console.log('update cart');
},
error: function(errorThrown) {
console.log(errorThrown);
}
}); };
在这种情况下返回html和数据。
data =“success”
和html是
<div class="total_purchase">
<div class="col-xs-12">
<div class="subtotal_cart">
<span class="item_purchase">
Sub-total: </span>
<span class="amount_cart">
<span class="woocommerce-Price-amount amount">15,40 <span class="woocommerce-Price-currencySymbol">€</span></span> </span>
</div>
</div>
<div class="col-xs-12">
<div class="wc-proceed-to-checkout">
<a href="http:../checkout/" class="checkout-button button alt wc-forward">
Checkout</a>
</div>
</div>
</div>
我必须剪切并使用字符串来获取我的日期,并在结尾处替换div。
即使在最后一行,我也有问题要更换数据
$('.amount_cart .amount').replaceWith('.amount', html);
什么是最好的方式或以其他方式返回日期以获取我需要的信息。
感谢您的建议!
答案 0 :(得分:0)
服务器端你必须用json_encode()
返回日期json_encode(array( 'mydate' => $my_date ));
如果你想在你的HTML中显示日期,你必须在你的ajax成功中这样做。
success: function(json) {
$('.amount_cart .amount').html(json.mydate);
}