2013-06-13 3 views
0

좋습니다. 테스트 중이라는 사실에 대한 도움이 필요합니다. JqueryMobile 테스트 phonegap 애플 리케이션을 만들려고 해요 그리고 다음 질문이 있습니다.동적 데이터 전달하기 JQueryMobile

  • 나는 그것이 JSON 요청에서 동적 링크 항목의 목록을 보여주는 첫 번째 페이지에서 여러 페이지 JQuery와 템플릿
  • 을 만드는거야.
  • 지금까지 문제가 없습니다. 링크를 클릭하면 문제가 시작됩니다. 이제 jquery.mobile.router.js 스크립트로 URL 변수를 전달합니다. 그래서 URL은 다음과 같습니다 : test3.html # blog? blog_id = 10
  • blog_id 번호를 JSON 요청으로 전송하는 스크립트를 발견했으며 다소 효과가 있습니다. 콘텐츠를 표시하려면 새로 고침해야합니다.

내 첫 번째 코드 (작품) : (작동하지 않는)

<script type="text/javascript"> 
$.ajax({ 
url: 'test.cfc?method=books&ReturnFormat=json', 
dataType: 'json', 
success: function(response) { 
    var data = response.DATA; 
    var str = '<ul>'; 

    for (var I = 0; I < data.length; I++) { 
     str += '<li><a href="#blog?blog_id=' + data[I][0] + '"data-transition="slide">' +  I + data[I][1] + '</a></li>'; 
    } 

    str += '</ul>'; 

    $('#output').html(str); 
}, 
error: function(ErrorMsg) { 
    console.log('Error'); 
} 
}); 
</script> 

그리고 두 번째 코드; 첫 번째 부분은 URL에 전달 된 blog_id 번호를 필터링하려고합니다. 경고는 올바른 값이 붙여 넣기되었는지 확인하는 것입니다. 두 번째 부분은 블로그 텍스트를로드해야하지만 실제로 작동하지는 않습니다.

<script type="text/javascript"> 
function getUrlVars() 
{ 
var vars = [], hash; 
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
for(var i = 0; i < hashes.length; i++) 
{ 
    hash = hashes[i].split('='); 
    vars.push(hash[0]); 
    vars[hash[0]] = hash[1]; 
} 
return vars; 

} 

var blog_id = getUrlVars()["blog_id"]; 
alert(blog_id) 

$.ajax({ 
url: 'test.cfc?method=blog&ReturnFormat=json&blog_id='+blog_id, 
type: 'GET', 
dataType: 'json', 
success: function(response) { 
    var data = response.DATA; 

    for (var I = 0; I < data.length; I++) { 
     str = '<h1>' + data[I][0] + '</h1>' + data[I][1] ; 
    } 


    $('#outputblog').html(str); 

}, 
error: function(ErrorMsg) { 
    console.log('Error'); 
} 
}); 

</script> 

다른 사람이 내 코드를 승인하거나 도움을 얻을 수 있습니까? 감사합니다.

+0

* 작동하지 않음 *은 무엇입니까? Pls 더 우리에게 말해. 그리고 경고는'blog_id'를 던지거나'undefined'입니까? – krishgopinath

+0

http://stackoverflow.com/questions/14468659/jquery-mobile-document-ready-vs-page-events 페이지 이동 사이의 _ 데이터/매개 변수 조작 _ 섹션으로 이동하십시오. – Omar

+0

나는 약간의 생각을했으며 이것이 작동 할 수 있는지 궁금해하고있었습니다 (위의 코드)? 무슨 일이 발생합니까 그것은 다중 페이지 템플릿이기 때문에 모든 Ajax 요청을로드 할 때로드됩니다. 따라서 앱을 시작하면 "정의되지 않음"이라는 알림이 표시됩니다. 이는 아직 전달되지 않은 blog_id가 없으므로 정확합니다. 이제 링크 (blog_id가있는 링크)를 클릭하면 같은 DOM 객체에로드되기 때문에 결과가로드되지 않습니다. 단단한 재 장전 후에 만 ​​작동합니다 (경고가 올바른 번호를주고 블로그 txt가로드 된 것을 봅니다). 그렇다면이 문제를 해결할 수있는 해결책이 있습니까? 아니면 내 blog_text_page를 다른 문서로 가져와야합니까? – user2483081

답변

0

blog_id 페이지 섹션으로 리디렉션 했습니까? 아약스 성공 후 이것을 호출하십시오.

location.hash = "blog_id"; 
관련 문제