2013-04-17 56 views
1

我有一個存儲值如下(使用jQuery.cookie插件)存儲touppercase()值和檢索它的jQuery

$.cookie('delpostcode', $('#deliveryPostcode').val().toUpperCase(),{path: '/'}); 

此店GL53%200DW

然後我嘗試郵編查詢並檢索它稍後使用:

$.cookie("delpostcode") 

但這返回[Object][object]

在設置頁面上正確設置了這兩個值,但我無法在我嘗試抓取它們的頁面上檢索它們。如果把

$.cookie('delpostcode') 

到控制檯在Chrome中我得到URIError: URI malformed

編輯:

這已經解決了通過添加

$.cookie.raw = true; 

,當我把我的cookie。任何想法爲什麼?

+0

不,這只是意味着它是一個對象。使用console.log()將其記錄到瀏覽器的控制檯,然後您可以看到它實際包含的內容。 – CBroe

+0

在Chrome中,我正在查看Resources> Cookies,並且可以看到正在設置Cookie。 – Jeepstone

回答

1

打開瀏覽器的調試控制檯和檢查什麼

$('#deliveryPostcode').val() 

回報,它可能是沒有字符串。如果你有一個字符串嘗試它的工作原理:

$.cookie('delpostcode', "GL53%200DW".toUpperCase(),{path: '/'}); 
undefined 
$.cookie("delpostcode") 
"GL53%200DW" 
+0

我認爲這是問題所在。如果我對它的值進行硬編碼(因爲它是一個字符串)。它可能是我設定的價值類型而不是實際價值嗎? – Jeepstone

+0

什麼類型是#deliveryPostcode?輸入字段? DIV? – Michael

+0

input [type = text] – Jeepstone

0

這裏,jsfiddle與工作的例子,我看不出哪裏出了問題。這裏是我使用的代碼:

$(function() { 
    $("#setCookie").on("click", function() { 
      alert($('#deliveryPostcode').val().toUpperCase()); 
     $.cookie('delpostcode', $('#deliveryPostcode').val().toUpperCase(), { 
      path: '/' 
     }); 
    }); 
    $("#getCookie").on("click", function() { 
     alert($.cookie('delpostcode')); 
    }); 
}); 
+0

確實,這確實有效。會受到ajax調用的影響嗎? – Jeepstone

+0

每個cookie都被它的域名所引用,你是否有任何關於域名的問題(即,你是否在設置cookie(例如http:// localhost /)和獲取存儲的cookie之間更改域名(例如http://www.myTestDomain.com ))? – Alepac

+0

這是在WAMP堆棧上運行,我將所有內容都設置爲/。該網站坐落在一個子文件夾/大黃蜂 – Jeepstone