在PHP邮件中发送javascript创建的内容


Send content created by javascript in PHP mail?

我在商店里使用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'],并在电子邮件中呈现它并发送它。

如果您使用htmlplain text body发送电子邮件,那么最好去掉html元素,用与纯文本兼容的字符替换它们。

//edited:我已经修复了错误