嗨,对于jquery地图,我得到了ajax的值。地图的格式必须是
var new_sample_data = {"af":"16.63","al":"11.58","dz":"158.97",...};
。
我用var new_sample_data = {"af":16.63,...};
对它进行了测试,一切正常。但如果我把它接过杰森。它不起作用。我必须改变什么?
php testcode:
$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"]]
。但是我怎么能把它改成地图需要的格式呢?
答案 0 :(得分:3)
您需要在PHP中创建关联数组:
$sample_data = array("de"=>"$de");
然后对它进行编码应该会生成一个可以解析为JavaScript对象的正确JSON字符串。
要在JavaScript中查看new_sample_data
的正确内容,请使用console.dir(new_sample_data);
,它会列出对象的属性。
您可以在JavaScript中以这种方式访问新属性的值:
console.log(new_sample_data.de);
答案 1 :(得分:1)
你的php数组应该将de的索引设置为变量,如:
$sample_data[] = array("de" => "$de");
那个wasy $ sample_data [“de”]将=“$ de”;
答案 2 :(得分:0)
$ sample_data ['de'] = $ de;
它会按预期工作