您好,我在评估 json 时遇到了问题。我的目标是将 json 成员值插入函数变量,看看这个
function func_load_session(svar){
var id = '';
$.getJSON('data/session.php?load='+svar, function(json){
eval('id = json.'+svar);
});
return id;
这段代码我从我预先存储的 php 文件加载 session 。我使用动态变量存储该 session 变量。
<?php
/*
* format ?var=[nama_var]&val=[nilai_nama_var]
*/
$var = $_GET['var'];
$val = $_GET['val'];
$load = $_GET['load'];
session_start();
if($var){
$_SESSION["$var"] = $val;
echo "Store SESSION[\"$var\"] = '".$_SESSION["$var"]."'";
}else if($load){
echo $_SESSION["$load"];
}
?>
使用 Firebug ,我得到了预期的响应,但我也收到了错误
> uncaught exception: Syntax error, unrecognized expression: )
指着这个
> eval('id = json.'+svar);
请问如何解决
最佳答案
正确的代码是:
id = json[svar];
您可能还想添加 alert(svar);
以事先检查 svar
是否包含正确的值。
但是,您的代码仍然无法运行:func_load_session
函数将在 ajax 调用完成之前和分配 id
变量之前立即返回。
您需要做的是使用来自 ajax 回调函数的 id
执行您想做的任何事情:
function func_load_session(svar){
$.getJSON('data/session.php?load='+svar, function(json){
var id = json[svar];
doSomethingWith(id);
});
}
关于php - 如何使用变量评估 json 成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2736386/