我可以使用跟踪代码管理器更改此行:
function verify(...
$.ajax({...
...
success: function (data, textStatus, jqXHR) {
if (data) {
...
if (data.imagePixelUrl) {
$("#footer").append("<img id='imagePixel' src='" + data.imagePixelUrl + "'/>");
到此:
function verify(...
$.ajax({...
...
success: function (data, textStatus, jqXHR) {
if (data) {
...
if (data.imagePixelUrl) {
$("#footer").append("<img id='imagePixel' src='" + data.imagePixelUrl + "'/>");
dataLayer.push({'event' : 'success'});
新行是 dataLayer.push 。注意它是在成功调用AJAX命令的内部。
答案 0 :(得分:0)
在jQuery中使用全局a jax event handlers,特别是成功处理程序。要辨别你的不同功能,你可以检查settings.url(即你调用的url来发出你的ajax请求,这个请求可能与每个函数不同)。 E.g:
$( document ).ajaxSuccess(function( event, xhr, settings ) {
if ( settings.url == "ajax/urlone.html" ) {
dataLayer.push({'event' : 'verfiy'});
} else if ( settings.url == "ajax/urltwo.html" ) {
dataLayer.push({'event' : 'function two'});
} else {
dataLayer.push({'event' : 'default'});
}
});
更新:我刚刚在Linkedin上发现了同样问题的解决方案(我假设同一个人问过),所以我不妨在此处添加。 &#34;排序-的溶液&#34;因为它没有回答问题,但解决了问题。
由于添加的像素是图像而图像具有onload事件,因此可以简单地将函数附加到该图像的onload处理程序。
<script>
$('#imagePixel').on('load',function() {
alert("I am pixel hear me roar");
});
</script>
一旦附加图像,就会触发。我用简单的设置对它进行了测试,看起来效果很好。