解析由 PDO 语句创建的 JSON 对象
Posted
技术标签:
【中文标题】解析由 PDO 语句创建的 JSON 对象【英文标题】:Parse JSON object created by a PDO statement 【发布时间】:2014-11-06 15:21:59 【问题描述】:这是我的问题
我浏览了 Stak overflow 和其他网站,但找不到解决我实际问题的答案...
我从 AJAX 请求中调用一个 php 文件,我的 php 文件从我的数据库中获取数据。
我正在做一个 pdo 语句来从我的数据库中获取数据:
//initialize vars such as $db ...
$get = $db->prepare("SELECT * FROM myTable WHERE myTable_id=1");
$get->execute();
echo json_encode($get->fetchAll(PDO::FETCH_ASSOC));
//COLUMNS IN MY TABLE ARE ID, NAME, PHONE, INFO
以便该对象返回到我的 ajax 查询 但我不知道如何将此对象提取到我的 ajax/jquery 语句中以使用其数据...
来自控制台的响应:
[Objectid="1",name="myname",phone="8888888",info="information"]
代码...
success : function(response)
var id = '';
var name = '';
var phone = '';
var info = '';
请告诉我如何解析,我尝试了 json.parse(response),但无法显示来自此的任何数据...
感谢
【问题讨论】:
显示输出示例 尝试console.log(response)
并使用控制台报告的内容更新您的问题。还使用整个 AJAX 调用更新您的问题。如果您要发回 JSON 数据,则应在 AJAX 调用中使用 dataType: 'json'
。
来自控制台的响应:[Objectid="1",name="myname",phone="8888888",info="information"]
所以你应该只使用response.id
作为id等等?你显然做对了其他一切。
@Julo0sS 使用fetchAll
将返回一个包含所有响应的数组。如果您知道您只收到 1 个回复,请尝试改用 fetch
(如果您不想要外部数组)
【参考方案1】:
这样做
success : function(response)
var data = JSON.parse(response);
var id = data.id;
var name = data.name;
var phone = data.phone;
var info = data.info;
这应该可以解决问题。
【讨论】:
以上是关于解析由 PDO 语句创建的 JSON 对象的主要内容,如果未能解决你的问题,请参考以下文章