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/

相关文章:

javascript - 带输出的 Html 范围 slider

php - 如何在 JavaScript 中访问 session ?

javascript - 用什么代替 document.all

javascript - 即使在转义之后,引用也会破坏语法

javascript - 如何在JavaScript中将字符串的字母切成固定长度的较小块?

javascript - 使用 webpack 设置 block 路径 a 并响应惰性代码拆分

javascript - jQuery-2个Ajax请求在同一页面上不起作用

javascript - Datepicker 在搜索弹出窗口中不起作用

php - JQuery Table post 用 PHP 计算总和

php - 带有 PHP 代码的 Wordpress Woocommerce 建议