好的,我真的需要一些我正在测试的东西的帮助。我正在尝试使用 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>
可以请人帮忙批准我的代码或提供一些建议吗?谢谢!!