programing

jquery 쿠키의 json 데이터 개체 저장

itmemos 2023. 9. 4. 19:35
반응형

jquery 쿠키의 json 데이터 개체 저장

JSON 데이터를 쿠키에 저장하려면 어떻게 해야 합니까?

내 JSON 데이터는 다음과 같습니다.

$("#ArticlesHolder").data('15', {name:'testname', nr:'4',price:'400'});
$("#ArticlesHolder").data('25', {name:'name2', nr:'1', price:'100'});
$("#ArticlesHolder").data('37', {name:'name3', nr:'14', price:'60'});

그리고 저는 다음과 같은 것을 하고 싶습니다.

var dataStore = $.cookie("basket-data", $("#ArticlesHolder").data());

그리고 로드하고 싶은 데이터를 검색합니다.$("#ArticlesHolder")맘에 들다

$.each($.cookie("basket-data"), function(i,e){
 $("#ArticlesHolder").data(i, e);
});

제가 옳은 길을 가고 있는지 아니면 다른 방법으로 해야 하는지 아는 사람 있나요?간단히 말해서, 쿠키에서 json 데이터를 어떻게 넣고 풀 수 있습니까?

다음과 같이 데이터를 JSON으로 직렬화할 수 있습니다.

$.cookie("basket-data", JSON.stringify($("#ArticlesHolder").data()));

쿠키에서 가져오려면 다음을 수행합니다.

$("#ArticlesHolder").data(JSON.parse($.cookie("basket-data")));

이전 브라우저(IE<8)에는 json2.js를 포함하여 데이터 개체를 직렬화/직렬화하여JSON기능성이 예에서는 jQuery cookie 플러그인을 사용합니다.

이제 이미 사용할 필요가 없습니다.JSON.stringify노골적으로이 코드 라인을 실행하십시오.

$.cookie.json = true;

그런 다음 쿠키에 개체를 저장할 수 있습니다. 쿠키를 읽을 때 JSON으로 자동 변환되고 JSON에서 다시 반환됩니다.

var user = { name: "name", age: 25 }
$.cookie('user', user);
...

var currentUser = $.cookie('user');
alert('User name is ' + currentUser.name);

하지만 JSON 라이브러리는 jquery.cookie와 함께 제공되지 않기 때문에 jquery.cookie.js보다 먼저 직접 다운로드하여 html 페이지에 포함시켜야 합니다.

사용하다JSON.stringify(userData)문자열에 ty json 개체를 포함합니다.

var dataStore = $.cookie("basket-data", JSON.stringify($("#ArticlesHolder").data()));

그리고 쿠키 사용에서 돌아오기 위해.JSON.parse()

var data=JSON.parse($.cookie("basket-data"))

반환된 값을 저장하는 것은 좋은 방법이 아닙니다.JSON.stringify(userData)쿠키에 연결합니다. 일부 브라우저에서 버그가 발생할 수 있습니다.

사용하기 전에 base64로 변환해야 합니다.btoa), 읽을 때 base64에서 변환합니다(사용).atob).

val = JSON.stringify(userData)
val = btoa(val)

write_cookie(val)

데이터를 JSON 및 Base64로 직렬화하는 경우 종속성 jquery.cookie.js:

var putCookieObj = function(key, value) {
    $.cookie(key, btoa(JSON.stringify(value)));
}

var getCookieObj = function (key) {
    var cookie = $.cookie(key);
    if (typeof cookie === "undefined") return null;
    return JSON.parse(atob(cookie));
}

:)

이것을 사용해 보십시오: https://github.com/tantau-horia/jquery-SuperCookie

빠른 사용:

create - cookie 만들기

체크 - 존재 확인

verify - JSON인 경우 쿠키 값을 확인합니다.

check_index - JSON에 인덱스가 있는지 확인합니다.

read_values - 쿠키 값을 문자열로 읽습니다.

read_JSON - 쿠키 값을 JSON 개체로 읽습니다.

read_value - JSON 개체에 저장된 인덱스의 읽기 값

replace_value - JSON 개체에 저장된 지정된 인덱스의 값 바꾸기

remove_value - JSON 개체에 저장된 값 및 인덱스를 제거합니다.

그냥 사용:

$.super_cookie().create("name_of_the_cookie",name_field_1:"value1",name_field_2:"value2"});
$.super_cookie().read_json("name_of_the_cookie");

언급URL : https://stackoverflow.com/questions/4225030/jquery-save-json-data-object-in-cookie

반응형