php - 如何使用变量评估 json 成员?

标签 php javascript jquery json

您好,我在评估 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/

相关文章:

php - 如何恢复根节点

javascript - 单击图像的不同部分时触发事件 - javascript

javascript - 我们可以使用 Javascript 调用 div 类上的 click 函数吗

javascript - 通过滚动点触发的更稳定版本(jQuery/JS)

php - 提交和接收ajax表单

php - GridView 小部件中的 yii2 未知属性异常

javascript - 选择下拉 'no/other' 值时清除相应的文本输入

javascript - 无法使用 mvc4 将数据附加到 jquery 中的表

javascript - 动态生成按钮,未打开模态 Bootstrap 3

javascript - 在 Firefox 中对文本区域调用 $().focus 无法按预期工作