2013-04-07 99 views
1

如何使JavaScript中的变量生成并从json数组中给它赋值?将json数组写入javascript变量

该阵列是由PHP脚本发送,看起来像这样:

php 

$stat = array("v1" => "$v1", "v2" => "$v2", "v3" => "$v3", 
"v4" => "$v4", "v5" => "$v5", "pump" => "$pump", "flow" => "$flow"); 
echo json_encode(($stat)); 

html/javascript 

$.ajaxSetup({ cache: false }); 
setInterval(function(){ 
$.getJSON('statusdata.php',function(data) { 
$.each(data, function(key, val) { 

// I try to do something like this.. 
var v1 = key[1]; 
var v2 = key[2]; 
and so on.. 

然后我想用一个变量与某种警告,提醒的弹出窗口。

成才,如:

if (v1 == 1){ 
run the popup function! 
} 

谁能帮助我?

+0

看来你不知道如何访问对象的属性/数组元素。我建议阅读MDN JavaScript指南:https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Working_with_Objects。也许你也必须阅读'$ .each'是如何工作的:http://api.jquery.com/jQuery.each/。仅供参考,'data'将是一个对象,所以'key'将是该属性的名称(例如''v1'',''pump''),'val'将是该属性的值。 – 2013-04-07 17:45:18

回答

0

您正在使用$ .each错误。如果您要从数据分配到设置常规变量,则需要单独完成它们,而不是在循环内。

$.getJSON('statusdata.php',function(data) { 
    v1 = data["v1"]; 
    v2 = data["v2"]; 
}