當我發送JSON對象數組我的jQuery的AJAX方法能夠解析內容和顯示數據在ListView的jQuery,但是當我只有一個單一的對象我相同的jquery ajax方法不能解析數據。JQuery的Ajax方法工作與多個JSON對象,但不與單個JSON對象
這裏我的JSON對象數組:
{"menuService":[{"idmenu":"0","itemCatagory":"Main Course","itemDescription":"Food from UP","itemImagePath":"http://localhost:8080/fotservice/ItemImage?id=Steam Rice","itemName":"Steam Rice","rate":"100.5","subItemName":"Half Plate Steam Rice","subItemNameRate":"100.5"},{"idmenu":"5","itemCatagory":"Main Course","itemDescription":"tasty lunch","itemImagePath":"http://localhost:8080/fotservice/ItemImage?id=Lunch Combo(raita,rice,dal,salad)","itemName":"Lunch Combo(raita,rice,dal,salad)","rate":"123.0","subItemName":"lunch(dal,rice)","subItemNameRate":"100.5"}]}
這是我的單JSON對象:
{"menuService":{"idmenu":"2","itemCatagory":"xyz","itemDescription":"fghjkl;","itemImagePath":"http://localhost:8080/fotservice/ItemImage?id=Dal makhni","itemName":"Dal makhni","rate":"121.5","subItemName":"Half plate Dal makhni","subItemNameRate":"121.56"}}
這裏是我的jquery AJAX方法:
$.ajax({
url: "http://localhost:8080/fotservice/rest/menu/"+cat+"/items",
type: 'GET',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(response) {
var markup = "";
$.each(response.menuService, function(index, result) {
var $template = $('<div><li> <a data-transition="slide" href="desc.html?cat='+result.itemName+'" rel="external" > <img class="profile"> <p class="from"> </p><p class="tweet"> </p></li></a></div>');
$template.find(".profile").attr("src", result.itemImagePath);
$template.find(".from").append(result.itemDescription);
markup += $template.html();
});
$("#tweet-list").append(markup).listview("refresh", true); // The true parameter indicates we want to refresh the entire list, not just the list items.
},
timeout: 6000, // Timeout after 6 seconds
error: function(jqXHR, textStatus, errorThrown) {
console.log("Error, textStatus: " + textStatus + " errorThrown: "+ errorThrown);
$.mobile.hidePageLoadingMsg();
//show error message
$("<div class='ui-loader ui-overlay-shadow ui-body-e ui-corner-all'><h1>"+ $.mobile.pageLoadErrorMessage +"</h1></div>")
.css({ "display": "block", "opacity": 0.96, "top": 100 })
.appendTo($.mobile.pageContainer)
.delay(800)
.fadeOut(1000, function() {
$(this).remove();
});
}
});
我嘗試的jquery的getJSON方法,但這也是相同的行爲。
$ .each無法處理對象列表('[{...},{...}] ')與處理對象的方式相同('{...}'),因爲它在後一種情況下遍歷它的鍵。你能發送一個對象的列表嗎? – Brian