所以我有jQueryMobile应用程序我正在努力,我想要做的是当用户点击链接时我希望它从mysites api获取JSONP数据然后成功通过jsonp调用创建内容当前moble app页面现在当初始页面加载时我可以调用jsonp并填充页面但是当我点击一个链接时我收到错误消息“错误加载页面”所以我如何将其设置为当用户点击它触发的链接时jsonp调用将创建由jquery mobile显示的内容吗?
修改
试图更好地解释
我有一个初始页面设置
HTML 的
<div data-role="page" class='maninpage' id="page1">
<div data-role="header" data-scroll="x">
<div>
<a href="#"><img src="img/iphoneheader.gif" alt="Penn State Live"></a>
</div>
<div data-role="navbar">
<ul>
<li>
<a href="colleges">Colleges</a>
</li>
<li>
<a href="campuswires">Campuses</a>
</li>
<li>
<a href="facultystaff">Faculty and Staff</a>
</li>
<li>
<a href="ofinterest">Of Interest</a>
</li>
<li>
<a href="photos">Photos</a>
</li>
<li>
<a href="videos">Video</a>
</li>
<li>
<a href="subscriptions">Newswire Subscription</a>
</li>
<li>
<a href="psutxt">PSUTXT</a>
</li>
</ul>
</div>
</div>
<div id="content" data-role="content"></div>
<div data-role="footer"></div><!-- /footer -->
</div><!-- /page -->
然后在启动时我调用此函数给出启动参数
get_jsonp(data)
function get_jsonp(data){
$.ajax({
dataType: 'jsonp',
data:data,
jsonpCallback:'create_content',
async:false,
url:'myapi'
});
}
在我的create_content回调中,它创建了一个html列表,然后我用它来填充ul
像这样$('#content').empty().append(content);
$("div#content ul").listview();
然后,当有人点击链接时,我希望它重复此过程,从链接中提取新参数,将它们发送到新的可跟踪页面,但使用ajax填充。
那就是说我需要让我的回调构建一个全新的页面,如果这就是我要做的事情,但是谁知道我可能做错了但是我认为会有一些方法可以在没有返回html的情况下向jquery mobile提供内容?
答案 0 :(得分:0)
以下是您要查找的documentation,因为您要使用changePage()
示例:
$("[name=button_name]").click(function() {
$.mobile.changePage('anotherPage.php?parm=123','slide',false,true);
});
因此,如果用户单击按钮(button_name),它将调用'anotherPage.php?parm = 123'页面,(slide)是过渡类型,(false)是反向过渡类型,(true)是如果你想跟踪页面
更新(来自您的评论)
不确定,但您可以尝试这个
$.mobile.changePage({
// this posts to the page anotherPage.php,
// you could capture these parms and do some action
url: 'anotherPage.php?parm=123&another=foobar',
type: 'post',
// this posts the data from the form to the
// same page as above, this could do other actions
data: $('form#your_form').serialize()
},'slide',false,false);
我会对待
和
希望这有帮助