2010-07-28 4 views
0

이 코드는 작동합니다변수를 사용하여 json 문자열을 전달할 수 있습니까?

$(this).load($('.pageloadlabel', this).attr('href'), {category: 1}); 

이 코드는 작동하지 않습니다

var data = '{category: 1}'; 
$(this).load($('.pageloadlabel', this).attr('href'), data); 

이 질문은, 어떻게 작동 할 수 있습니까?

+2

는 JSON 주위에 따옴표를 제거하십시오 사용할 수 있습니다. –

답변

2

귀하의 데이터는 자바 스크립트 개체가 아니라 문자열로, 당신은 개체로 eval에 의해 개체로 변환 할 수 있습니다.

data = eval('(' + data + ')'); 

eval은 위험한 것으로 간주되므로 JSON처럼 문자열을 구문 분석하는 것이 좋습니다.

data = JSON.parse(data) 

JSON lib 디렉토리를 들어 당신은 당신이 데이터를 할당 할 때 json2

+0

JSON 라이브러리를 사용하여 문제를 해결할 수있었습니다. 고맙습니다. –

2

JSON이 아니며 자바 스크립트 개체입니다.

var data = { category: 1 }; 

문자열이있는 경우 convert it to a object이되어야합니다.

문자열이 유효한 JSON이 아닙니다. 자세한 내용은 링크를 참조하십시오.

0

데이터에 eval()을 사용해 보셨습니까?

var data = '{category: 1}'; 
$(this).load($('.pageloadlabel', this).attr('href'), eval(data)); 
2

따옴표를 사용하면로드 함수는 문자열이 아닌 객체를 필요로합니다.

관련 문제