2013-07-28 1 views
0

두 페이지가 있고 처음 한 페이지에서 버튼을 클릭하면 다음과 같은 방법으로 두 번째 페이지로 리다이렉트됩니다.한 페이지에서 새로 리디렉션 된 페이지로 json 데이터 표시

window.location.href="newpage.php"; 

제 의도는이 두 번째 페이지에 ajax 요청의 결과를 사용하는 것입니다. 하지만 두 번째 페이지가로드 될 때 ajax 요청의 모든 json 데이터가 손실 된 것 같습니다. 이 작업을 수행 할 여지가 있습니까?

+2

어쨌든 탐색하려는 경우 AJAX를 사용해야하는 이유는 무엇입니까? –

+0

또한'window.location.href = "";는 같은 페이지로 다시 이동합니다. – Musa

+0

@JamieTaylor 좋은 지적이지만 다음 페이지에서 아약스 coz을 사용해야합니다. 저는 아약스에서 자바 스크립트를 사용하여 구성 요소를 구성해야합니다. 데이터. – altsyset

답변

2

JSON 데이터를 가져온 후 저장하려면 쿠키 또는 HTML5 로컬 저장소를 사용하십시오. 데이터는 사용자의 브라우저에서 언제든지 사용할 수 있습니다. 쿠키는 약 4KB를 저장할 수 있습니다 (브라우저에 종속적인지는 확실하지 않지만). JSON을 아주 적게 저장하면 충분할 수 있습니다. 그렇지 않으면 로컬 스토리지를 사용해야합니다. 올바르게 기억하면 Chrome에서 최소 2.5MB의 데이터를 보장받을 수 있습니다. 다른 브라우저에서 더 많이 줄 수 있습니다 (read more).

로컬 스토리지 API를 쉽게 사용할 수 있도록 jQuery localStorage plugin을 확인하십시오.

1

URL의 길이는 제한되어 있습니다. json 데이터에 따라 "window.location.href"를 사용하면 오류가 발생할 수 있습니다.

@see What is the maximum length of a URL in different browsers?

당신은 < 양식 방법 = 'POST'ID = "yourFormId"> 객체를 생성하고 필요한 데이터와 양식 필드를 채우는 시도해야합니다 :

< 입력 유형 = " 숨겨진 "ID ="jsondata "이름 ="jsondata "값 ="myJsonString "그럼 >

당신이 자바 스크립트를 사용하여 리디렉션을 트리거 할 수 있습니다"document.getElementById를 ('yourFormId'). 제출() "

3

슬픈 제이미 테일러와 마찬가지로 어쨌든 페이지를 전환하는 경우 AJAX를 사용하지 마십시오.

AJAX로 요청한 파일의 코드가 무엇이든간에 해당 코드를 newpage.php의 시작 부분으로 이동하십시오.

+0

나는 당신의 요점을보고 나는 내 코드를 리팩터링하려고 노력할 것이지만, 지금은 Codemonkey가 제안한 로컬 스토리지를 시도했다. – altsyset

관련 문제