jQuery SVG映射-将内容作为JSON从jQuery Ajax中提取不起作用
下面是我的代码:jQuery SVG映射-将内容作为JSON从jQuery Ajax中提取不起作用,jquery,ajax,json,svg,mapsvg,Jquery,Ajax,Json,Svg,Mapsvg,下面是我的代码: $.ajax({ type: "GET", url: "content/content.json", success: function( data ) { check = true; ajaxMap = data; drawMap(data); } }); function drawMap( data ) { $('#map').mapSvg({ source: 'maps/t
$.ajax({
type: "GET",
url: "content/content.json",
success: function( data ) {
check = true;
ajaxMap = data;
drawMap(data);
}
});
function drawMap( data ) {
$('#map').mapSvg({
source: 'maps/test.svg',
colors: {
selected: "#00431e",
disabled: "#ffffff"
},
tooltipsMode: 'custom',
zoom: true,
zoomButtons: {'show': true, 'location': 'left'},
pan: true,
responsive: true,
zoomLimit: [0,500],
marks: data, // here I pass data from JSON file
tooltipsMode: 'custom',
zoom: true,
pan: true,
responsive: 0,
zoomLimit: [0,100]
});
}
当我以JSON格式直接在标记中传递数据时,它工作,但当我传递数据变量时,它不工作
更新:
这是我的json数据:
[
{ c: [50.84199288,122.83167],
attrs: {'src': 'markers/pin-yellow.png'},
tooltip: '<h2>Dublin - Ireland</h2><p>Embassies and High Commissions</p><a href="http://www.dfat.gov.au/geo/ireland/" title="http://www.dfat.gov.au/geo/ireland/">Read More</a>'
},
{ c: [44.94199288,119.93167],
attrs: {'src': 'markers/pin-yellow.png'},
tooltip: '<h2>London - United Kingdom</h2><p>Embassies and High Commissions</p><a href="http://www.dfat.gov.au/geo/united_kingdom/" title="http://www.dfat.gov.au/geo/united_kingdom/">Read More</a>'
},
{ c: [28.94199288,100.93167],
attrs: {'src': 'markers/pin-yellow.png'},
tooltip: '<h2>Header</h2><p>Embassies and High Commissions</p><a href="#" title="">Read More</a>'
},
{ c: [44.94199288,115.93167],
attrs: {'src': 'markers/pin-yellow.png'},
tooltip: '<h2>Header</h2><p>Embassies and High Commissions</p><a href="#" title="">Read More</a>'
},
{ c: [20.94199288,135.93167],
attrs: {'src': 'markers/pin-yellow.png'},
tooltip: '<h2>Header</h2><p>Embassies and High Commissions</p><a href="#" title="">Read More</a>'
}
]
[
{c:[50.84199288122.83167],
属性:{'src':'markers/pin yellow.png'},
工具提示:“都柏林-爱尔兰大使馆和高级委员会”
},
{c:[44.94199288119.93167],
属性:{'src':'markers/pin yellow.png'},
工具提示:“伦敦-英国大使馆和高级委员会”
},
{c:[28.94199288100.93167],
属性:{'src':'markers/pin yellow.png'},
工具提示:“标题大使馆和高级委员会”
},
{c:[44.94199288115.93167],
属性:{'src':'markers/pin yellow.png'},
工具提示:“标题大使馆和高级委员会”
},
{c:[20.94199288135.93167],
属性:{'src':'markers/pin yellow.png'},
工具提示:“标题大使馆和高级委员会”
}
]
如果以json格式显示方面响应,则必须定义数据类型属性。当前您正在以字符串形式获取数据
$.ajax({
type: "GET",
url: "content/content.json",
dataType:'json',
success: function( data ) {
check = true;
ajaxMap = data;
drawMap(data);
}
});
或者在成功处理程序中使用data=JSON.parse(data)
此外,示例中显示的是对象文字,而不是json。看见JSON.parse()将在您的示例中给出错误。如果以JSON格式创建方面响应,则必须定义数据类型属性。当前您正在以字符串形式获取数据
$.ajax({
type: "GET",
url: "content/content.json",
dataType:'json',
success: function( data ) {
check = true;
ajaxMap = data;
drawMap(data);
}
});
或者在成功处理程序中使用data=JSON.parse(data)
此外,示例中显示的是对象文字,而不是json。看见JSON.parse()将在您的示例中给出错误。有效的JSON是有效的JavaScript,但有效的JavaScript不一定是有效的JSON。您在问题中发布的json数据不是有效的json;您可以使用服务验证这一点<当需要JSON但遇到无效JSON()时,ajax将引发错误。要解决此问题,必须修改服务器端代码以发出有效的JSON。首先,键需要用双引号括起来。有效的JSON是有效的JavaScript,但有效的JavaScript不一定是有效的JSON。您在问题中发布的json数据不是有效的json;您可以使用服务验证这一点<当需要JSON但遇到无效JSON()时,ajax将引发错误。要解决此问题,必须修改服务器端代码以发出有效的JSON。首先,密钥需要用双引号括起来。问题不清楚(至少对我来说)。你能说得更具体一点吗?你能告诉我们你调用
drawMap()
的代码吗?这样,我们不知道数据是什么样子。您还应该使用开发人员工具来检查传递给函数的内容。问题还不清楚(至少对我来说)。你能说得更具体一点吗?你能告诉我们你调用drawMap()
的代码吗?这样,我们不知道数据是什么样子。您还应该使用开发人员工具来检查传递给函数的内容。