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()
的代码吗?这样,我们不知道数据是什么样子。您还应该使用开发人员工具来检查传递给函数的内容。