【发布时间】:2012-01-04 11:44:06
【问题描述】:
我已经为此苦苦挣扎了一段时间。下面代码中的 jQuery.ajax 永远不会运行。我知道那是因为我使用了错误的 pageinit/document.ready。
另外一件奇怪的事情是 pageLoadingMsg 并没有变成下面指定的“Laddar...”,而是“正在加载”...
我尝试使用以下命令初始化 ajax 调用:
但是我应该使用什么?我试过了:
$(函数() {
$(document).live('pageinit',function(event){
$(document).live('pagecreate',function(event){
$(document).bind('mobileinit',function(event){
$(document).bind('pageinit',function(event){
我的完整代码:
$(function() {
var photos = {};
$.mobile.showPageLoadingMsg("Laddar...");
$.ajax({
type: "get",
url: "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?",
data: ({tags: 'cat', format: 'json', tagmode: 'any'}),
cache: false,
dataType: "json",
success: onSuccess,
error: onError
});
});
//////////////////////////////////////////////////////////////////////////
//
// Handle the returned data
//
//////////////////////////////////////////////////////////////////////////
function onSuccess(data)
{
photos = data;
var output = [];
for (var i = 0, len = data.items.length; i < len; i++) {
output.push('<li><a data-index="' + i + '" href="details.html?author='+ data.items[i].author +'&image='+ data.items[i].media.m +'"><img src="images/de.png" class="ui-li-icon">' + data.items[i].author + '</a></li>')
};
$('#list').append(output.join('')).listview('refresh');
$.mobile.hidePageLoadingMsg();
}
//////////////////////////////////////////////////////////////////////////
//
// Failure for the ajax call
//
//////////////////////////////////////////////////////////////////////////
function onError(param1, param2, param3)
{
alert(param1); alert(param2); alert(param3);
}
【问题讨论】:
-
要设置加载消息设置
$.mobile.loadingMessage = "Laddar...";的值然后调用$.mobile.showPageLoadingMsg();
标签: jquery jquery-mobile