访问/解码JSON数据

时间:2012-06-10 05:13:25

标签: jquery json

改述这个问题。

  1. 用户点击链接,将其带到 editUser.php?id = 1 (其中ID是用户ID号)
  2. 文档就绪的editUser.php页面调用函数loadAjaxVals(script, json_action, id);。该函数位于外部JS库中。脚本和json_action值与此问题无关。 ID是URL查询字符串中的ID
  3. loadAjaxVals()向PHP脚本发送请求,该脚本将数据作为json_encoded()数据返回到loadAjaxVals(script,json_action,id)
  4. loadAjaxVals()接受json编码数据并循环通过它将结果输出到editUser.php上的表单。该脚本从JSON编码数据中获取名称值对,这些数据将成为表单元素ID和值
  5. 填写表格并完成所有工作。
  6. 但是我想在editUser.php上找到第二个脚本来解析JSON并从中提取1个数据。

    我不知道如何访问JSON或解析JSON。

2 个答案:

答案 0 :(得分:1)

JSON仅在loadAjaxVals函数中可用。我建议您编辑loadAjaxVals以接受回调函数。

这样的事情:

function loadAjaxVals(script, json_action, id, callback){
    // get JSON
    // code
    // parse JSON
    // more code
    if($.isFunction(callback)){
        callback(data); // pass callback the parsed JSON data
    }
}

然后称之为:

loadAjaxVals(script, json_action, id, function(data){
    // use data
    console.log(data);
});

答案 1 :(得分:0)

您可以使用'in'运算符来检查对象是否具有属性...

alert('enable_class' in obj)

如果确实该对象具有enbable_class明智的假

,则应该为真

关于你的第二个问题,你可能正在使用该对象的缓存版本,这很常见,相信我,我建议清除你的缓存并再试一次,我还推荐谷歌Chrome内置的javascript调试器,并附带一个非常漂亮的控制台和其他细节的主机...... :)

如果确实问题是缓存,他们有几个方面......我会在你确认之后详细说明。