我在商店里使用javascript购物车,我想在结账时发送订单确认。问题是购物车没有保存在任何类型的数据库中,而是用javascript打印的。我该如何将其附加到电子邮件中?我已经在发送邮件的页面上包含了购物车脚本。
<table class="simpleCart_items"></table>
会打印购物车,但我如何将打印的购物车附加到电子邮件?
隐藏输入还是什么?
更新
我的ajax调用如下:
var data = $('#yhteystiedot').serialize();
data.cartContent = $('.simpleCart_items').html();
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "order.php",
data: data,
dataType: "text",
error: function(){ alert("Jotakin meni pahasti pieleen! Yritä uudelleen?");
},
success: function() {
$(document).html("Tilaus lähti.");
}
});
您可以对发送电子邮件的php函数进行ajax调用。参数是由javascript生成的内容。
您需要将cart值发布到服务器端PHP脚本中,并为cart重新创建HTML,以便能够通过电子邮件发送。您可以根据需要进行直接表单发布或ajax发布。
我估计您的$.ajax()
调用看起来像这样:
$('form').submit(function(){
var dataTrunk = $(this).serializeArray();
dataTrunk.push( { name: 'cartContent', value: $(your_table_selector).html()});
$.ajax({
url: 'mail.php', // your mail script
data: dataTrunk,
type: 'post'
});
return false;
});
在php中,你可以捕获$_POST['cartContent']
,并在电子邮件中呈现它并发送它。
如果您使用html
和plain text body
发送电子邮件,那么最好去掉html元素,用与纯文本兼容的字符替换它们。
//edited:我已经修复了错误