2009-10-06 2 views
3

jQuery로 애완 동물 프로젝트를 개발 중입니다. 이제 응용 프로그램은 페이지가로드 될 때 일부 변수 값이 클라이언트 자바 스크립트로 전송되어야합니다. 나는 그것을하는 것이 가장 좋은 방법이 궁금합니다.서버에서 자바 스크립트로 변수 값을 전송하는 가장 좋은 방법은 무엇입니까?

두 가지 방법으로 이미지를 만들 수 있습니다. 먼저 페이지에서 javascript 변수로 렌더링합니다. 클라이언트가 하나 개의 요소의 속성으로 할당,

<script> var maxid = <somevar>; </script> 

둘째를 볼 것을 의미합니다

<script> <?php echo "var maxid = $maxid;"?> </script> 

.

<div maxid="<php echo $maxid >" /> 

어떤 접근 방식이 더 좋습니까? 그것을 할 다른 방법이 있습니까?

답변

7

유효한 html을 위해서 첫 번째 방법을 사용하겠습니다. 실제로 작업을 완료하는 한 실제로는 중요하지 않습니다.

<script> 
$(function() { 
    var max_id = <?php echo $max_id;?>; 
}); 
</script> 
+0

나는 오랫동안 이것을 궁금해하고 있으며, 너희들도 나와 똑같은 생각을 가지고 정말 기뻐. 약간의 성능을 읽기 쉽도록 교환하십시오. –

0

- 편집 : 분명히 그래서

다만, 귀하의 "질문은"당신의 "코드"가 아닌 완전히 다른 무언가를 요구하고있다. 당신은 분명히해야합니다, 내 게시물은 "질문"에 대해 이야기.

- 오래 :

나는 일반적으로 전체 HTML은 아약스가 호출 페이지에 렌더링 할 돌아갑니다.

이유는 JavaScript에서 레이아웃 논리를 복제 할 필요가 없으며 JavaScript를 간단하게 유지하고 관련 자리 표시 자의 HTML/텍스트 컨텐츠를 설정하는 형태로 일반적으로 유용합니다.

더 많은 데이터를 전송하는 비용이 들지만, 나에게이 트레이드 오프를 기쁘게 생각합니다.

0

저는 이것을 자바 스크립트 변수로 렌더링합니다 (첫 번째 대안). 이것은 일반적인 접근 방법 인 것 같습니다.

0

첫 번째 방법은 더 나은이 예를 살펴 클라이언트 에 값을 전달 JSON 문자열을 사용합니다. DIV 방식으로 이동하면 DOM 요소와 DOM 노드 검색을 사용하여 값을 읽습니다.

1

... 나는 어떤 경우에는 내가 사용, 정보의 전체 세트를 가지고하는 경향이 내가 거의 하나의 변수를 전달할 필요가 없습니다 : JSON으로 앞서 언급 한 바와 같이

var myAwesomeStuff = <?php echo json_encode($myArrayOfAwesomeInformation); ?> 

서버에 없음 왕복, .

관련 문제