未捕获的SyntaxError:意外的令牌{使用JSON.parse

时间:2015-08-24 17:24:23

标签: javascript php jquery json

我正在为DYI项目的Web界面工作。我在学习过程中的编码技能有限。

这是我的代码的一部分:

var lights_array = [22,23,24,25,26];
function pull_light_status (lights_array){
    var devices = {};
    devices.veraip = "10.20.174.10";
    create_device_array (devices, lights_array);        
    $.post( "resources/php/individual_json.php", devices)
        .done(function (json) {
        var vera_obj = JSON.parse(json);
        console.log(vera_obj);

    }); 
}

function create_device_array (devices, ligh_arr){
    $.each(ligh_arr,function(key,value){
        eval("devices.device_"+key+"="+ value);           
    });          
}

pull_light_status(lights_array);

我想要做的是为invidiviual_json.php生成一个帖子,这样它就会处理所有设备的json请求,然后向我发送一个我可以在js中使用的响应。

这是individual_json.php的内容

<?php
$veraip = $_POST['veraip'];
foreach ($_POST as $key => $value){
switch ($key){
case "veraip":
    break;
default: 
    echo damejson ($veraip,$value);
    break;
}
}
function damejson ($ip,$device){
$url = 'http://' . $ip . '/port_3480/data_request?id=status&DeviceNum=' . $device;
$jsondata_ind = file_get_contents($url);
return $jsondata_ind;
}
?>

每当我添加行var vera_obj = JSON.parse(json);时,我都会收到错误Uncaught SyntaxError:Unexpected token {

有人可以解释一下我做错了什么,也许我该怎么做才能解决它? 我想要的是在vera_obj中有一个js对象,我可以使用

提前致谢

Ĵ

编辑-------------- 将其更改为此,我在控制台中没有任何内容

    function pull_light_status (lights_array){
    var devices = {};
    devices.veraip = "10.20.174.10";
    create_device_array (devices, lights_array);        
    $.getJSON( "resources/php/individual_json.php", {device:devices})
        .done(function (vera_obj) {
        console.log(vera_obj);
        console.log(typeof(vera_obj));

    }); 
}

function create_device_array (devices, ligh_arr){
    $.each(ligh_arr,function(key,value){
        eval("devices.device_"+key+"="+ value);           
    });          
}

0 个答案:

没有答案