传递动态数据JQueryMobile

时间:2013-06-13 16:43:26

标签: jquery jquery-mobile cordova parameter-passing

好的,我真的需要帮助我正在测试的这个东西。我正在尝试使用JqueryMobile创建一个测试phonegap应用程序,我有以下问题。

  • 我正在创建一个多页面jquery模板
  • 在第一页上,它显示了一个包含来自JSON请求的动态链接的项目列表。
  • 到目前为止没有问题。单击链接时会出现问题。现在我设法用脚本jquery.mobile.router.js传递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>

可以请某人帮助批准我的代码或提供一些建议吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

您是否已重定向到blog_id页面部分?在ajax成功之后尝试调用它。

location.hash = "blog_id";