2011-02-03 8 views
0

私のコードで何が間違っているのですか、なぜクッキーが空ですか?私はこの結果を得る必要があるjquery、javascriptオブジェクトをクッキーに挿入

<script type="text/javascript"> 
$(document).ready(function(){ 
    personObj = new Object(); 
    personObj.firstname="John"; 
    personObj.lastname="Doe"; 

    $.cookie("test_cookie", personObj, { path: "/"}, { expires: 1 });  
}); 
</script> 

test_cookie => array(personObj => array(firstname=>"John", lastname=>"Doe")) 

おかげで、あなたはプラグインを使用しなければならないので)

+0

あなたはどちらのプラグインをお使いですか? –

+0

クッキープラグイン:https://github.com/carhartl/jquery-cookie/blob/master/jquery.cookie.js#L63 – lolalola

答えて

3

私の知る限りでは、jQueryのでcookie機能にはビルドがありません。あなたは、値(check the source code)などのオブジェクトを受け入れないthis oneを使用している:

は、最初のオブジェクトを文字列にシリアル化:サーバー側で

$.cookie("test_cookie", JSON.stringify(personObj), { path: "/", expires: 1 }); 

を(PHPのように見える):

$person = json_decode($_COOKIE['test_cookie'], true); 

普通のオブジェクトを作成するより良い方法は、

です。

personObjより前にはvarを忘れないでください(それ以外の場合はグローバル変数を作成します)。

+0

ありがとうございます。しかし、どのようにobjeckを挿入objeckt? – lolalola

+0

@lolalola:あなたは 'personObj = {name: 'foo'、someObject:{name: 'bar'}}'を意味しますか?そうでない場合は、質問を明確にする必要があります。 –

関連する問題