2009-11-14 4 views
1

나는이 함수를 직접 호출해도 제대로 작동하지만 자바 스크립트에서 아약스 호출을 사용하면 제대로 작동하지 않을 것이다.Perl에서 jQuery와 함께 Ajax를 어떻게 사용합니까?

이유를 알았는데, 나는 $ (document) .ready (function ..)를 사용했기 때문에, Ajax가 결과를 반환 한 직후에 함수를 호출해야하는 경우가있었습니다.

+0

마크 다운 형식을 학습하여 코드 서식을 지정하는 것이 더 효과적입니다. – dlamblin

+0

이것은보고있는 코드의 일부입니다. 실제로 자바 스크립트는 사용자가 무언가를 클릭 할 때 호출됩니다. 로드 할 때 직접 작동하지 않기를 바란다. – Luci

+0

또한 :'escape'를 사용해서는 안되며, 출력은 URL 인코딩과 유사하지만 호환되지 않습니다. 'encodeURI' 역시 적절하지 않습니다. 둘 모두를'encodeURIComponent'로 대체하십시오. 그러나 태그가 말한대로 jQuery를 사용한다면,'{target : 'get_section'}'을'ajax' (또는'post') 메소드로 전달하면 인코딩이 제대로 작동합니다. – bobince

답변

3

혼란 스럽기 때문에 펄 코드는 단지 헤더없이 (content-type과 같은) html을 출력합니다. 귀하의 자바 스크립트는 jQuery를 사용하지 않는 것으로 보이며 참조 된 ID 중 어느 것도 귀하의 예제에서 아무 것도 나타나지 않습니다.

load과 같은 것을 사용하고 싶습니까? ?
아니면 : 최소한

$('#view_span').load(
    'filename_ajax.cgi', 
    {'target': escape(encodeURI('get_section'))}, 
    alertViewResult); 
4

, 당신의 Perl 스크립트는 다른 출력하기 전에 출력에 텍스트의 다음과 같은 종류를 필요로 다음 Content-Type 행 다음에 빈 줄이 있어야합니다

 
Content-Type: text/html 

하는 것으로 .

이 작업을 수행하지 않으면 서버에서 JavaScript로 텍스트를 보내지 않습니다. 일반적으로 라인을 트립합니다.

alert('There was a problem with the request.'); 

귀하의 JavaScript에 있습니다. 변수 .status의 값을 검사하면 스크립트가 실패했음을 나타내는 오류 코드 인 500과 같아야합니다.

3

(적어도 jQuery 자체에 익숙하지 않은 사람이라면) CPAN에서 JQuery을 살펴 보았습니까?

관련 문제