我有一個函數,它需要一個參數(key)從cookie中檢索它的值。我在任何需要特定位信息的地方稱此功能。除了一切都以Undefined形式返回。函數不返回變量
//before $(document).ready();
var keyval = ""; //VARIABLE FOR PASSING COOKIE VALUE
var getCookieVal =function(c_name){
var cleanCookie = document.cookie.substr(0, document.cookie.indexOf("; __utma="));//REMOVES EXTRA INFORMATION
var cookieArr = cleanCookie.split(";");//MAKES AN ARRAY OF EACH PAIR
$.each(cookieArr, function(index, val){
var valArr = val.split("=");//SPLITS THE KEY VALUE PAIR INTO AN ARRAY
var key = valArr[0];
keyval = valArr[1];
if (key == c_name){
alert(keyval);//ALERTS CORRECT ANSWER
return keyval;
}
});
console.log(keyval);//RETURNS UNDEFINED
}
//IN ANOTHER FILE I CALL THE FUNCTION:
$(document).ready(function(){
getCookieVal("username");
alert(keyval);//RETURNS UNDEFINED
});
任何人都知道我做錯了什麼或我如何獲得該值?
您的代碼是不正確縮進這使得它更難閱讀。請糾正這一點。 – 2011-05-19 13:41:15
對不起,新來堆棧溢出。仍然找出代碼區域。儘管我被告知把我的第一支架放在下一行。舊的習慣,我猜。 – 2011-05-19 14:03:00
您可以將您的JavaScript代碼複製到[jsFiddle](http://jsfiddle.net),然後單擊「TidyUp」按鈕以正確格式化代碼。然後只需將結果代碼複製粘貼到您的問題中,選擇它並單擊「代碼示例」圖標。 – 2011-05-19 14:07:24