2012-07-12 4 views
0

메신저 한 페이지에서 다른 페이지로 데이터를 가져 오는 데 매우 익숙하며 데이터를 전달하기 위해 쿼리 문자열을 사용했습니다. 그리고 다음과 같습니다자바 스크립트의 쿼리 문자열에서 데이터를 가져옵니다.

?redesigndata={"jsondata": "{\"images\":[ {\"src\":\"images/bgset.jpg\"},{\"src\":\"images/ar019.png\"}]}","product_hardware": "silver","product_thread": "white","product_lining": "Blue","product_lining_loc": "images/lining/blue_80x32.jpg"} 

을 내가 그것에서 모든 \을 제거하고 객체 나 자바 스크립트 또는 jQuery로 이런 어떤 일에 넣어 어떻게 왜 당신이 그들을 제거 할

redesigndata = { 
    "jsondata": "{"images":[ {"src":"images/bgset.jpg"},{"src":"images/ar019.png"}]}", 
    "product_hardware": "silver", 
    "product_thread": "white", 
    "product_lining": "Blue", 
    "product_lining_loc": "images/lining/blue_80x32.jpg" 
} 
+1

['$ .param'] (http://api.jquery.com/jQuery.param/) – MilkyWayJoe

답변

2

location.search합니다 (?로 시작하는) 당신에게 쿼리 문자열을 얻을 것이다. ?을 제거하고 =으로 분할 한 다음 JSON.parse으로 분할합니다.

var jsonStr = location.search.substring(1).split('='); 
var obj = JSON.parse(unescape(jsonStr[1])); 

그런 다음 jsondata을 구문 분석 할 수 있습니다.

var jsondata = JSON.parse(obj.jsondata); 
2

백 슬래시? 그들없이 JSON은 더 이상 유효하지 않을 것입니다. 이처럼 구문 분석 할 수 있도록 지금 당신은 (strredesigndata 값을 인 상태) JSON 중첩 된 :

var redesigndata = JSON.parse(JSON.parse(str).jsondata); 
+0

내가 백 슬래시가 중요했다 몰랐어요. 감사 –

관련 문제