2013-04-27 3 views
0

jquery mobile을 사용하여 페이지를 호출 할 때 문제가 발생합니다. 이 예제에서는 인덱스 페이지 (index.html)가 내 서버의 데이터를 포함 할 데이터 페이지 (data.html)를 호출 할 것으로 가정합니다. 내가 구문을 사용하여 index.html을에서 호출 페이지를 수행 할 때 내 경우에 는 : 나는 data.html를 호출 한 후jquery mobile 페이지로드 및 데이터 가져 오기

$(document).on('pageinit', '#myDataPage', function(){  
    GetData(); 
}); 

function GetData(){ 
    //Ajax Function here 
} 

:

$.mobile.changePage("data.html"); 

그리고 페이지

나는이 sintax했다 data.html 분명히 데이터가 표시되지 않습니다. 하지만 수동으로 새로 고치면 서버에서 가져온 데이터가 성공적으로 표시됩니다. 내 코드에 문제가 있습니까?

답변

1

기본적으로 jQuery Mobile은 Ajax를 사용하여 페이지 전환을 수행합니다. 즉, 전환하는 동안 jQuery Mobile은 응답의 본문 요소 (또는 data-role = "page"요소가 제공된 경우)의 내용 만 주입하므로 페이지 머리 부분에 아무 것도 사용되지 않습니다. 특별히 가져온 페이지 제목 제외).

따라서 Ajax를 통해 페이지를로드 할 때 페이지 헤드에서 참조되는 스크립트 및 스타일은 효과가 없지만 페이지가 HTTP를 통해 정상적으로 요청 된 경우 실행됩니다.

script을 두 번째 페이지의 div (<div data-role="page" id="myDataPage">) 안에 head 태그로 옮기면 실행됩니다. 또 다른 방법은 JS 파일을 만들고 첫 페이지로드시 JavaScript를로드하는 것입니다 (관련 예제 here).

이 정보가 도움이되기를 바랍니다.

관련 문제