2012-10-15 6 views
1

javascript를 사용하여 쿠키 내의 필드를 편집 할 수 있습니까? 쿠키는 다음과 같습니다.쿠키 내의 필드 수정

cookie_session=[{"id":"1526","username":"test","email":"[email protected]"}] 

예를 들어 필드 사용자 이름의 값을 편집 할 수 있습니까?

나는

document.cookie="Field=myValue"

를 사용하기 위해 노력하고있어하지만 난 그것을 사용할 때, 그것은 내 특정 필드 대신 myValue하는 쿠키의 전체 값을 설정합니다.

또한 POST 요청에 대해 나중에 사용하기 위해 username 값을 구문 분석 할 수 있습니까?

+0

왜 당신이 요청에 대한 사용자 이름을 추출 할 것이다, 쿠키가 이미 함께 전송? – Bergi

+0

쿠키의 필드 값을 읽을 수 있기를 원합니다. – mormaii2

+0

Duplicate http://stackoverflow.com/questions/4003823/javascript-getcookie-functions – mrk

답변

3

쿠키는 단순히 문자열입니다. 자바 스크립트 객체를 쿠키 안에 저장하고 있습니다. 객체의 단일 부분을 수정하려면 JSON을 디코딩하고 속성을 편집 한 다음 객체를 다시 문자열로 다시 인코딩하여 쿠키에 저장해야합니다.

btw - 쿠키는 자바 스크립트 개체를 저장하기위한 것이 아닙니다. 서버에 데이터가 필요하지 않으면 로컬/세션 저장 장치를 사용하는 것이 더 좋습니다. 이러한 메커니즘이 브라우저 간 친화적 인 방식으로 작동 할 수있게 해주는 jQuery 플러그인이 있습니다.

편집 : 예 여기에서 찾을 수 있습니다 : Pure Javascript - store object in cookie

+0

쿠키 내 특정 필드를 구문 분석하는 방법은 무엇입니까? – mormaii2

+2

쿠키는 단순히 문자열이기 때문에 필드가 없습니다. 이제 귀하의 경우 문자열은 자바 스크립트 객체 (JSON)를 나타내는 문자열이됩니다. 먼저 JSON을 다시 구문 분석하여 실제 자바 스크립트 객체로 만들어야합니다. 이때 개체의 속성을 변경할 수 있습니다. 그런 다음 객체를 JSON으로 '문자열 화'한 다음 다시 쿠키에 저장해야합니다. –

+0

그건 정말 열심히 들리지만, 불행히도 자바 스크립트에 대해 많이 모른다. 가능한지는 모르겠지만 사용자가 페이지를 방문하면 사용자 이름은 쿠키에 저장되고 쿠키와 사용자 이름은 변수로 사용되어 POST 요청을 기반으로 전송됩니다. 사용자 이름에 그게 가능한가? – mormaii2