我正在为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);
});
}