$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "MapImages.aspx/GetCctvData",
data: "{}",
dataType: "json",
success: function (data) {
var markers = '';
var c = 0;
for (var j = 0; j < data.d.length; j++) {
markers = markers + '{'+
' "title":'+'"'+ data.d[j].Name+'"'+','+ '"lat":'+'"'+data.d[j].Lat +'"'+','+' "lng":'+'"'+data.d[j].Lng +'"'+','+
'"img":' +'"'+ data.d[j].Url +'"'+ '}';
{
if(c!=97)
markers = markers +',';
}
c++;
}
markers= '[' + markers + ']';
},
error: function (result) {
alert(data.d[i].Name);
}
});
</script>
标记的输出包括:
"[{
"title":"Simpang Pulai KM285.2",
"lat":"4.5425", "lng":"101.141",
"img":"http://plus.aviven.net/push/images/cctv/c3781ad96bde24b6a588c875ec58a57c.jpg"
}]"
必需的输出是:
[{
"title":"Simpang Pulai KM285.2",
"lat":"4.5425", "lng":"101.141",
"img":"http://plus.aviven.net/push/images/cctv/c3781ad96bde24b6a588c875ec58a57c.jpg"
}]
答案 0 :(得分:0)
markers
的类型是字符串,这就是为什么围绕对象获得""
的原因。您所需的输出看起来像一个json数组。如果你想让markers
成为一个json数组,那就把它变成一个如下所示的数组:
var markers = [];
for (var j = 0; j < data.d.length; j++) {
var marker = {
title: data.d[j].Name,
lat: data.d[j].Lat,
lng: data.d[j].Lng,
img: data.d[j].Url
};
markers.push(marker);
}
答案 1 :(得分:0)
同意Toma.Never尝试附加json字符串。当你需要它时,尝试从对象中获取它,并且会更加美观,清晰和高效。
答案 2 :(得分:0)
只需从服务器解析返回的数据。 使用:
$.parseJSON()
示例:
var data = $.parseJSON(data);