跟踪像素跨域,ASP.NET,jQuery,AJAX

Tracking pixel cross domain, ASP.NET, jQuery, AJAX

本文关键字:NET jQuery AJAX ASP 跟踪 像素      更新时间:2023-09-26

我有一个页面跟踪/跟踪像素页面,该页面当前正在使用$.post(PAIRS-DATA)将在JavaScript中收集的信息发布回服务器。然后最终加载为跟踪像素。

        finally
        {
            //tracking pixel
            Response.ContentType = "image/gif";
            byte[] buffer = pix.BinaryData;
            int len = buffer.Length;
            Response.OutputStream.Write(buffer, 0, len);
        }

问题是,$.post(PAIRS-DATA)在Chrome中被取消,因为它是跨域的。所以我尝试了

         $.ajax({
            type: "POST",
            dataType: "jsonp",
            jsonp: false,
            processData: false,
            crossDomain: true,                
            url: "URL",
            data: dataPairs
        });

这解决了跨域问题,但我现在得到了"资源被解释为脚本,但使用MIME类型的image/gif:"

我该怎么解决这个问题?$.ajax调用有问题吗?

您的ajax调用失败,因为JSONP要求服务器实际发回JSONP(即JSON+包装器)。

如果在加载图像之前必须使用JS收集数据,可以尝试在图像的查询字符串中传递所需的数据。

示例:

$(document).append('<img src="http://host.com/path/to/image?' + formatDataAsQueryString());