我想通过每个 AJAX 加载数据来动态创建谷歌地图。因此,我使用具有与 GM API 相同结构的 JSON 对象来构建地图,并使用 jQuery 来加载每个 AJAX。
喜欢:
"object": {
"div": "map1",
"options": {
"center": {
"latitude": 38.608202,
"longitude": 26.373749,
"noWrap": false
},
"mapTypeId": "roadmap",
"zoom": 7
}
}
现在在 JSON 中包含原始 JavaScript 并使用 eval 函数解析它是否是一个好主意,例如:
"object": {
"div": "map1",
"options": {
"center": new google.maps.LatLng( 38.608202, 26.373749 ),
"mapTypeId": google.maps.MapTypeId.ROADMAP,
"zoom": 7
}
}
使用 jQuery 的默认 JSON 解析器我得到一个错误。但是,如果我使用 eval 函数创建自己的转换器,它就可以工作。
jQuery.ajax({
url: this.url,
data: this.parameters,
type: method,
dataType: 'json',
converters: {'text json': function( data ){
eval( 'data = ' + data );
return data;
}},
[…]
});
我知道这不是正确的 JSON 格式。但是我会因此遇到一些其他麻烦吗,或者是否有任何速度损失导致 eval 函数?