2009-08-08 3 views
0

AJAX를 사용하여 서버에서 "부분 템플릿"을 가져 와서 브라우저로 다시 반향시키고 있습니다. 이렇게하면이 모든 HTML이 브라우저로 다시 전송되어야합니다. 단순히 변수를 변경하는 방법이 있지만 거기에 모든 HTML을 남겨 두는 것이 궁금합니다. 이런 식으로 뭔가 :새로운 변수로 Smarty 템플릿을 다시로드 하시겠습니까?

$smarty->assign("fruit", "apple"); // At Load 

$smarty->assign("fruit", "pear"); // Changed through an AJAX call.. 

그리고 뭔가 같은 ..

$smarty->reload('FruitTemplate'); // Reloads all the variables 

어떤 아이디어?

감사합니다. Matt Mueller

+2

스마티는 서버 측 기술입니다. 페이지가로드되면 Smarty를 사용하여 페이지를 다시로드하지 않으면 페이지를 변경할 수 없습니다. 확실히 Smarty를 AJAX 호출에서 사용할 수는 있지만 새로운 HTML 만 페이지로 반환 할 것입니다. 로드 된 Smarty는 클라이언트가 이미로드 한 나머지 페이지를 볼 수 없습니다. 아마도 귀하의 질문을 이해할 수 없습니다. – Cfreak

+0

아마도 답변을 Cfreak로 게시해야합니까? –

답변

0

저는 Cfreak가 서버에서 제대로 작동한다는 것을 알고 있습니다. 서버의 클라이언트에서하고 싶은 말을 정확히 수행하고 있습니다. 당신이 원하는 것을 자바 스크립트를 통해 할 수있는 유일한 방법.

그러나 실제로는 문제가됩니다. html 파일이 거대한 경우가 아니라면 문제가 발생하지 않습니다.

관련 문제