Javascript 通过ajax方法GET将googletagmanager结果发送到php页面
我在我的网站上得到了一些变量,我在GTM上推动它们工作得很好,现在我需要从GTM中获得变量结果,并通过ajax将其发送到php页面,之后我将使用它发送到包含结果的电子邮件中Javascript 通过ajax方法GET将googletagmanager结果发送到php页面,javascript,php,jquery,ajax,google-tag-manager,Javascript,Php,Jquery,Ajax,Google Tag Manager,我在我的网站上得到了一些变量,我在GTM上推动它们工作得很好,现在我需要从GTM中获得变量结果,并通过ajax将其发送到php页面,之后我将使用它发送到包含结果的电子邮件中 <script> $(document).ready( function() { var msg = google_tag_manager["GTM-xxxxx"].dataLayer.get('pageName'); var msg1 = google_tag_manager["GTM-xx"].d
<script>
$(document).ready( function() {
var msg = google_tag_manager["GTM-xxxxx"].dataLayer.get('pageName');
var msg1 = google_tag_manager["GTM-xx"].dataLayer.get('MembershipLvl');
var msg2 = google_tag_manager["GTM-xx"].dataLayer.get('CountryRes');
var msg3 = google_tag_manager["GTM-xxxx"].dataLayer.get('pageLanguage');
var getall = [msg, msg1, msg2, msg3,];
// var me = 'just seend'; this do work
console.log(getall);
$.ajax({
type: "GET",
url: "url.cart.php", // some php
data:{info: getall},
datatype: 'html',
success: function(data) {}
});
};
这是我的php
<?php
/*
*
*/
发送电子邮件
发送邮件功能{
如果$\u获得[信息]{
$mail = $_GET["info"];
$header ="From: no-reply@test.com" . "\r\n";
$for = 'end@emailadaress.com';
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$title = 'Mailing list Newsletter';
$message = '<html><body>';
$message .= '<br/> <p>tou got email from</p><br/>';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="2">';
$message .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($mail)."</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
if(mail($for, $title, $message, $header)){
die();
}else{
//echo "false";
}
}else{
echo "false";
}
}
?>
问题是我没有收到发送的GTM变量,我确实在控制台日志中看到了它们,如果我更改变量如var=test,我确实收到了,但我就是无法收到发送的GTM变量,所以问题是$\u get[info]包含strip_标记无法处理的数组。如果查看调用的响应,它应该有一个PHP错误。警告:strip_标记期望参数1为字符串,数组给定。如果要从数组中获取值,可以构建循环或引用特定索引。
环路
索引
$message .= $mail[0] // google_tag_manager["GTM-xxxxx"].dataLayer.get('pageName');
$message .= $mail[1] // google_tag_manager["GTM-xx"].dataLayer.get('MembershipLvl');
等等
实际上,我正在添加您告诉我的更改,但我也尝试只发送1个varbaile out of array example var msg,但仍然没有收到任何结果。我必须查看标题请求,看看我在回答中附加的关于如何在chrome中查看ajax请求的链接。非常感谢您,在解决了ajax问题后,我需要这个循环,现在它是工作
$message .= $mail[0] // google_tag_manager["GTM-xxxxx"].dataLayer.get('pageName');
$message .= $mail[1] // google_tag_manager["GTM-xx"].dataLayer.get('MembershipLvl');