0

改写这个问题。

  1. 用户点击一个链接,将他们带到editUser.php?id=1(其中 ID 是用户 ID 号)
  2. 文档就绪的 editUser.php 页面调用该函数loadAjaxVals(script, json_action, id);。此函数位于外部 JS 库中。script 和 json_action 值与这个问题无关。ID 是来自 URL 查询字符串的 ID
  3. loadAjaxVals() 向 PHP 脚本发送请求,该脚本将数据作为 json_encoded() 数据返回给 loadAjaxVals(script, json_action, id)
  4. loadAjaxVals() 获取 json 编码数据并循环遍历它,将结果输出到 editUser.php 上的表单。该脚本从 JSON 编码数据中获取名称值对,这些数据成为表单元素 ID 和值
  5. 表格已填充并且全部完成。

但是,我想要位于 editUser.php 上的第二个脚本来解析 JSON 并从中提取 1 条数据。

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

4

2 回答 2

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);
});
于 2012-06-10T07:13:13.007 回答
0

好吧,您可以使用“in”运算符来检查对象是否具有属性...

alert('enable_class' in obj)

如果该对象确实具有 enbable_class ,则应该为 true 或 false

至于您的第二个问题,您可能正在使用对象的缓存版本,这很常见,相信我,我建议您清除缓存并重试,我还推荐 Google Chrome javascript 调试器内置并附带一个非常好的控制台和许多其他细节...... :)

如果确实问题出在缓存上,那么它们有几种解决方法……一旦您确认,我会详细说明。

于 2012-06-10T05:37:22.913 回答