ajax/json输出必须是其他格式


ajax / json output must be an other format

嗨,对于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;

它将如您所期望的那样工作