diff --git a/shopxo/app/plugins/vr_ticket/view/goods/public/footer.html b/shopxo/app/plugins/vr_ticket/view/goods/public/footer.html index daa2314..200bbfa 100755 --- a/shopxo/app/plugins/vr_ticket/view/goods/public/footer.html +++ b/shopxo/app/plugins/vr_ticket/view/goods/public/footer.html @@ -68,4 +68,10 @@ $security_desc = $shopxo_config['security_desc'] ?? ''; ' : ''; ?> \ No newline at end of file + src="static/common/lib/jquery/jquery-2.2.4.min.js"> + + + + \ No newline at end of file diff --git a/shopxo/app/plugins/vr_ticket/view/goods/ticket_detail.html b/shopxo/app/plugins/vr_ticket/view/goods/ticket_detail.html index 9e4aa76..8810d00 100644 --- a/shopxo/app/plugins/vr_ticket/view/goods/ticket_detail.html +++ b/shopxo/app/plugins/vr_ticket/view/goods/ticket_detail.html @@ -475,19 +475,32 @@ return; } - // 5. 隐藏表单 POST 到 ShopXO Buy 链路 - var form = document.createElement('form'); - form.method = 'POST'; - form.action = requestUrl + '?s=index/buy/index'; - document.body.appendChild(form); - - var input = document.createElement('input'); - input.type = 'hidden'; - input.name = 'goods_data'; - input.value = JSON.stringify(goodsDataList); // 直接 JSON,BuyService 自动处理 - form.appendChild(input); - - form.submit(); // POST → Buy::Index → BuyDataStorage → 跳转确认页 + // 5. AJAX POST 到 ShopXO Buy 链路 + $.ajax({ + url: requestUrl + '?s=buy/add&system_type=default', + type: 'POST', + dataType: 'json', + data: { + goods_data: encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(JSON.stringify(goodsDataList)))), + buy_type: 'goods', + address_id: '0', + site_model: '2' + }, + success: function(ret) { + if (ret.code === 0) { + // 成功,跳转到支付或订单页 + window.location.href = ret.data.jump_url || ret.data.order_id; + } else if (ret.code === -400 && ret.data) { + // 未登录,跳转到登录页 + window.location.href = ret.data; + } else { + alert(ret.msg || '提交订单失败'); + } + }, + error: function(xhr) { + alert('网络错误: ' + (xhr.responseText || '请求失败')); + } + }); }, bindEvents: function() {