【问题标题】:Access mySQL fields using Ajax and PHP使用 Ajax 和 PHP 访问 mySQL 字段
【发布时间】:2016-04-26 13:10:51
【问题描述】:

经过很多诱惑和阅读很多关于我仍然无法使用 Jquery 读取 mySQL 字段的帖子。我的 PHP 代码连接到数据库并获取一些数据,使用 echo json_encode($html); 输出以下内容:

{"id":"1","title":"this_is_title","description":"this_is_description","url":"this_is_url"}

然后我尝试读取单个字段,但我不断收到“未定义”。例如:

$.getJSON("get.php", function(result) {
    $.each(result, function(key, field){
         console.log(field.title);
    });
});

如果我只是使用 field 而不是 field.title 它可以工作,但我得到了所有字段(当然)。

【问题讨论】:

    标签: php jquery mysql ajax


    【解决方案1】:

    如果只返回一个对象,那么您可以轻松访问每个字段。 您已经知道字段名称,因此请使用它们。

    $.getJSON("get.php", function(result) {
        console.log(result.id); 
        console.log(result.title);
        console.log(result.description);
        console.log(result.url);
    });
    

    【讨论】:

      【解决方案2】:

      您的 JSON 数据仅包含一个对象,而不是对象数组。

      您正在使用$.each 遍历此 JSON 对象中的每个属性,因此在该回调函数中,key 将是属性名称,field 将是属性。 p>

      将您的控制台日志调用更改为:

      console.log(field);
      

      您可以看到差异,属性的值将被记录。

      您可以像这样直接访问 JSON 的属性:

      $.getJSON("get.php", function(result) {
           console.log(result.id);
           console.log(result.title);
           // etc
      });
      

      【讨论】:

      • 好的,好的。但是如何通过字段名访问 mySQL 字段呢?我看到了使用符号“field.title”的代码。
      • 您不需要使用$.each 来遍历它们。删除该部分并使用result.idresult.title
      【解决方案3】:

      试试这个,使用 parseJSON 然后尝试访问:

      $.getJSON("get.php", function(result) {
          var obj = JSON.parse(result);
          $.each(obj, function(key, field){
           console.log(key); // here you will get index like id,title
           console.log(field); // here you will get value
          });
      });
      

      【讨论】:

      • 我得到 -> SyntaxError:JSON.parse:JSON 数据的第 1 行第 2 列出现意外字符。 Json 数据哪里出错了?
      • 好试试 var obj = JSON.parse(result)
      • 抱歉,同样的语法错误,现在 var obj = JSON.parse(result) 也出现错误。我想访问这样的数据:'field.title'。我看到 'field' 和 'key' 有效,但我正在寻找 'field.title'
      猜你喜欢
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-12
      • 2018-07-27
      • 2020-10-24
      • 2021-05-30
      相关资源
      最近更新 更多