嗨,对于jquery映射,我通过ajax获取值。地图的格式必须为CCD_ 1。
我已经用var new_sample_data = {"af":16.63,...};
测试过了,一切都很好。但如果我接管杰森。它不起作用。我必须改变什么?
php测试代码:
$sample_data[] = array("de","$de");
echo json_encode($sample_data);
javascript代码:
$.ajax({
type: "POST",
url: '../mail/assets/includes/geodata1.php',
data: {datum1: Date.today().add({days: -29}).toString('yyyy-MM-dd'), datum2: Date.today().toString('yyyy-MM-dd')},
dataType: 'json',
success: function(data)
{
var new_sample_data = data;
在Firebug中,我看到的响应是[["de","4"]]
。但是我该如何将其更改为地图所需的格式呢?
您需要在PHP:中创建一个关联数组
$sample_data = array("de"=>"$de");
然后对其进行编码应该会产生一个正确的JSON字符串,该字符串可以解析为JavaScript对象。
要在JavaScript中查看new_sample_data
的正确内容,请使用console.dir(new_sample_data);
,它将列出对象的属性。
您可以在JavaScript:中以这种方式访问新属性的值
console.log(new_sample_data.de);
php数组应该将de的索引设置为变量,如下所示:
$sample_data[] = array("de" => "$de");
那是$sample_data["de"]will="$de";
$sample_data[de']=$de;
它将如您所期望的那样工作