2011-08-12 19 views
0

Cookieが完全に無効になっている場合、予約プロセスを続行できないサイトに問題があります。Jquery Cookie Plugin Returns [オブジェクトオブジェクト]

私はJqueryとCookieプラグインを使用していますが、クッキーは無効になっていると常に[object Object]を返します。これをチェックするための コードは次のとおりです。

alert($.cookie("sourceID")); //returns [object Object] 
if($.cookie("sourceID") === null || $.cookie("sourceID")=== '[object Object]'){ 
sourceID = 27201; 
}else{ 
sourceID = $.cookie("sourceID"); 
} 
alert(sourceID); //returns [object Object] 

は、上記のユーザーが有効にクッキーを持っていない場合、デフォルトのソースIDを設定しようとしています。これは、(他の情報と共に)XMLを構築し、処理するためにそれをサーバーに渡す別の関数に渡されます。しかし、これが渡されたときに[object Object]の問題のため、サーバーは一致するsourceidを見つけることができません。

+0

"the" jQueryクッキープラグインのようなものはありません...あなたはhttps://github.com/carhartl/jquery-cookieを意味しますか? – JAAulde

+0

はい、そうです。しかし、http://plugins.jquery.com/project/Cookieによると、それはプラグインです – Arazmus

+0

私はそれが_a_プラグインであることを知っています、私は_the_ jQueryクッキープラグインのようなものはないと言っています。つまり、それをプラグインにする唯一のことは、それがjQueryのネームスペースの下にあるということです。理由はありません。どちらも、jQueryのような機能を提供せず、jQueryの機能も使用していません。非常に奇妙な。 – JAAulde

答えて

0

私はクッキーから整数値を取得しようとしていたため、この問題の回避策が見つかりました。返されたクッキーの値が数値かどうかを確認することができました。 Validate decimal numbers in JavaScript - IsNumeric()と使用:

if(isNumeric($.cookie("sourceID"))){ 
sourceid = $.cookie("sourceID"); 
}else{ 
sourceid = 27201; 
} 

ないクッキーが有効な値を返しているが、私は将来的にこの問題に当たる誰でも検証することをお勧めしていることを確認するための最良の方法これを行うために、私はこの質問から答えを使用します(int、特定の文字列など)