0

好的,我真的需要一些我正在测试的东西的帮助。我正在尝试使用 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>

然后是第二个代码(不起作用);第一部分尝试过滤blog_id在 URL 中传递的数字。警报是检查是否粘贴了正确的值。第二部分应该加载博客的文本,但实际上并没有工作。

<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>

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

4

1 回答 1

0

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

location.hash = "blog_id";
于 2013-06-14T01:58:09.253 回答