我使用JQuery AJAX来检索一些数据(标题和描述)。正如你所看到的,我得到一个json数组并循环遍历结果并将结果输出到div标签
success : function(jsonArray)
{
$.each(jsonArray,function(messageIndex,jsonObject)
{
$("#results").append(jsonObject.title + " " + jsonObject.description);
})
}
JSONArray包含JSON对象,如下所示:
title : test Title 1
description : test Description 1
title : test Title 2
description : test Description 2
JSONArray是由我拥有的后端应用程序创建的,然后将结果传递给客户端(JQuery AJAX)。如果可以的话,后端还负责显示按钮。如何让客户知道是否显示按钮?
我正在考虑使用另一个JSONObject,其中包含要显示的按钮的详细信息。 例如,JSONObject就像
showButton: false
colour : red
size : 50px
问题在于我不确定如何在我的JQuery AJAX成功中表示这一点。目前,我给出的是一个循环遍历对象的JSONArray,但它如何知道它击中按钮json对象?
我是否需要再次进行AJAX调用以获取对象?
答案 0 :(得分:0)
您当前的对象结构类似于:
[ { "title" : "...", "description" : "..." } , ... ]
相反,你可以让你的后端返回一个像这样的结构:
{
"data" : [ { "title" : "...", "description" : "..." } , ... ],
"button" : { "showbutton" : false, "colour" : "red", "size" : "50px" }
}
然后在你的回调函数中:
success : function(response) {
$.each(response.data, function(messageIndex,jsonObject) {
$("#results").append(jsonObject.title + " " + jsonObject.description);
});
if (response.button.showbutton) {
// create button using response.button.colour and response.button.size
}
}
(请注意,JSON是用于发送数据的字符串表示,但是一旦解析并且您在成功函数中开始使用它,它就不是JSON或“JSON对象”或“ JSON数组“,它只是一个对象或数组。”