2013-10-22 25 views
5

Chúng tôi sử dụng GA để theo dõi và một phần của theo dõi liên quan đến việc lưu trữ giá trị cookie __utmz trong DB của chúng tôi. Tôi gặp vấn đề trong việc hiểu tại sao CF 10 không thể phân tích cú pháp cookie __utmz.Không thể phân tích cú pháp __utmz cookie

CF10 không phân tích cú pháp hoặc lấy đúng giá trị của cookie __utmz Hoặc chỉ về bất kỳ giá trị cookie nào có dấu bằng '= (=)' trong nó ngoài CFGLOBALS.

Dưới đây là ảnh chụp màn hình về vấn đề này (sử dụng CFDUMP phạm vi COOKIE) -

gì nó sẽ giống như thế -

Proper Google Analytic cookie read

gì nó được nhìn như -

Improper Google Analytic cookie read

Cấu hình máy chủ: CF1 0, IIS 7.5, Thắng 2k8

+0

tên miền của bạn có quyền truy cập vào cookie được đặt bởi (và có lẽ là _on_) miền GA không? – duncan

+0

@duncan yes. tất cả các cookie khác đều ổn. điều này một mình có vấn đề. – Sanjeev

Trả lời

1

Ok! Tôi đã tìm ra cách để giảm thiểu vấn đề này. Bằng cách sử dụng phương thức GetHttpRequestData().

<cfscript>  
    _cookie = GetHttpRequestData().headers.cookie; 
</cfscript> 

Điều này sẽ trả về một; danh sách giới hạn các giá trị cookie. Tôi đã sử dụng regEx để chọn giá trị __utmz mà tôi cần.

0

Tôi vừa gặp sự cố này. Một số mã hoạt động trong CF8 đã ngừng hoạt động trong CF10. Tôi đã tạo hàm này để nhận giá trị cookie thô:

<cffunction name="GetRawCookie" output="false" returntype="string"> 
    <cfargument name="cookieName" type="string" required="true"> 
    <cfset local.cookies = GetHttpRequestData().headers.cookie> 
    <cfset local.cookieValue = ""> 
    <cfset local.match = reFindNoCase("(?:^|;)\s*" & arguments.cookieName & "=([^;]+)", local.cookies, 1, true)> 
    <cfif local.match.pos[1] gt 0> 
     <cfset local.cookieValue = mid(local.cookies, local.match.pos[2], local.match.len[2])> 
    </cfif> 
    <cfreturn local.cookieValue> 
</cffunction> 
Các vấn đề liên quan