我在jquery 3.2.1中有这个代码。
$.ajax({
url: "http://xxx:8080/v1/objects/Kunde?query=query=%7B%22queryString%22%3A%22query%20Name1%20%3D%20%5C%22*%5C%22%3B%22%7D",
type: "GET",
crossDomain: true,
dataType: "json",
headers: {
"appkey": "123",
"Content-Type": "application/json; charset=utf-8",
"Access-Control-Allow-Origin": "*",
"Authorization":"Basic VGVzdDo1NmQ2Njg3YmEyMGM5YzFjN2Q1MGUyOGY4NTI0MTA3Yg==",
"sessionId": sessionID
},
cache: false,
success: function (jo) {
var Kunde = jo.data;
$("#daises").html(Kunde);
}
});
如果我尝试RestClient的请求,我在Json中得到这个“答案”。
{
"status": {
"internalStatus": "0",
"statusMessage": "ok"
},
"data": {
"~Count": 108,
"~Elements": [
{
"~ClassName": "Vorgang",
"~ObjectID": "7GCJ",
"~StoreTime": "20161104T125531"
},
{
"~ClassName": "Vorgang",
"~ObjectID": "7PJ6",
"~StoreTime": "20161220T164103"
}
]
}
}
我需要的是~ObjectID
,但我无法弄清楚如何获得这个对象。我尝试了不同的方法,但我只得到零条目。
任何人都可以帮助我吗?
@antpaw所以,我试过的是这个
$.ajax (
{
url: "http://xx:8080/v1/objects/Kunde?query=query=%7B%22queryString%22%3A%22query%20Name1%20%3D%20%5C%22*%5C%22%3B%22%7D",
type: "GET",
crossDomain: true,
dataType : "json",
headers : {"appkey" : "123" ,
"Content-Type" : "application/json; charset=utf-8",
"Access-Control-Allow-Origin" : "*",
"Authorization":"Basic VGVzdDo1NmQ2Njg3YmEyMGM5YzFjN2Q1MGUyOGY4NTI0MTA3Yg==",
"sessionId": sessionID },
cache: false,
success: function (jo) {
var Kunde = jo.data["~Elements"].forEach(function(element){
element["~ObjectID"]
});
$("#daises").html(Kunde);
}
})
}
})
但我仍然得到零对象。这可能是另一个问题吗?在Firefox控制台上也有零元素。这里编码的URL qazxsw poi
谢谢你的帮助
ObjectID存储在Array中
{"queryString":"query Nummer = \"*\";"}
我希望这就是你要找的东西。
您还可以访问jo.data["~Elements"][0]["~ObjectID"] // get objectId of first item
jo.data["~Elements"].forEach(function(element){
element["~ObjectId"]
}) // iterate items
期待您已将您的JSON响应分配给json properties using index syntax
value
你可以尝试这样的事,
$.each( value.data["~Elements"], function( key, value ) {
console.log(value["~ObjectID"]);
});