2009-10-27 5 views
1

jQuery 요청으로 돌아가려면 JSON 객체를 만들려고 노력하고 있습니다. Perl 모듈 JSON을 사용하여 JSON 객체 만들기

은 내가 jQuery chained select module

를 사용하기 위해 노력하고있어 나는 펄의 JSON module를 사용하여 JSDN 개체를 만들려고 해요.

내가 뭘 잘못하고 있는지 또는 어떻게 디버깅 할 수 있는지 잘 모르겠다. 최선의 방법은 JS 대화 상자에 "알 수없는 오류가 발생했습니다 ...."입니다.

이것은 JSON 개체를 만들기 위해 시도한 것입니다.이 모든 것이 필요하다고 생각했지만, 그렇지 않았습니다. 어떤 아이디어? 스크립트를 실행 TIA

use JSON; 
my %data = (1 => 'val1', 
      2 => 'val2', 
      3 => 'val3', 
      ); 
my $json_text = to_json(\%data); 
print $json_text; 

답변

5

는 제공 : 예상 출력입니다

{"1":"val1","3":"val3","2":"val2"} 

을 ....

문제는 서버에서 클라이언트로 JSON을 가져 오는 데 사용하는 코드가 무엇이든간에 분명 있습니다.

+0

난 그냥 인쇄하고있어 - 그게 전부라고 생각 했어? "print $ json_text" – Chris

+0

@Chris : 위 질문에서 제공 한 코드 스 니펫이 정확하고 올바르게 작동합니다. 독립 실행 형 스크립트에서 다시 직접 시도해보십시오. (틀림없이 스크립트의 다른 부분이 틀림 없습니다.) – Ether

+0

어디로 인쇄하고 있습니까? 출력은 어떻게 생겼습니까? – Quentin

1

텍스트 영역으로 처리하기 전에 javascript 출력에서 ​​응답 텍스트를 출력하여 전송에 문제가 있는지 확인할 수 있습니다. 또한 "myVar ="와 같이 데이터 앞에 무언가를 지정하여 데이터가 다른 끝에 지정되도록 할 것입니다.

+0

감사합니다 울 스타 (Woolstar), 그 방법을 알아 내려고 노력할 것입니다 (저는 JQuery에 대해 아무것도 모릅니다) – Chris

1

이미 문제를 파악한 것처럼 보입니다. 왜 작동하지 않는지 궁금한 점은 to_json 메서드가 이전 버전의 JSON 모듈에서 JSON.pm으로 내보내지지 않았기 때문입니다. CPAN (2.0)의 최신 버전은 to_json을 네임 스페이스로 내 보냅니다. 버전 1.5 이상에서는 JSON ::이 필요하지 않습니다. 많은 repos가 여전히이 이전 버전을 가지고 있으며 CentOS ~ 5.3 또는 이전 버전의 Fedora Core에서 실행중인 경우 이전 JSON.pm을 갖습니다.

관련 문제