getJSON解析器无法处理PHP文件的JSON输出
发布时间:2020-12-16 18:41:37 所属栏目:百科 来源:网络整理
导读:我有一个 PHP脚本,它从我的SQL Server返回以下json: ?php$server = "DEVTEST-PCSRVCLT";$options = array("UID"="sa","PWD"="1234","Database"="Test");$conn = sqlsrv_connect($server,$options);if ($conn === false) die("pre".print_r(sqlsrv_errors(
我有一个
PHP脚本,它从我的SQL Server返回以下json:
<?php $server = "DEVTEST-PCSRVCLT"; $options = array("UID"=>"sa","PWD"=>"1234","Database"=>"Test"); $conn = sqlsrv_connect($server,$options); if ($conn === false) die("<pre>".print_r(sqlsrv_errors(),true)); //echo "Successfully connected!"; $result = sqlsrv_query($conn,"SELECT Currency,USDRate FROM Pax.CurrencyRate WHERE GBPRate BETWEEN 80 AND 800;"); if($result === false) { die( print_r( sqlsrv_errors(),true) ); } while( $row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC) ) { $myArray['paxcurjson'][] = $row; } echo json_encode($myArray); ?> 输出如下: {"paxcurjson":[ {"Currency":"AFN","USDRate":49.5},{"Currency":"ALL","USDRate":103.567},{"Currency":"BDT","USDRate":77.562},{"Currency":"DZD","USDRate":79.6146}]} 我正在使用Jquery来解析它但由于某种原因它无法解析.我的代码如下: <script type = "text/javascript" language = "javascript" > var url = 'CurrencyQuery.php'; $.getJSON(url,function(data){ for (i = 0; i < data.paxcurjson.length; i++) { console.log(data.paxcurjson[2].Currency); }; }); </script> 我从控制台获取的唯一错误消息是: 08:52:52.661找不到元素1 CurrencyQuery.php:24:4 这基本上是指我的PHP脚本返回json.我不知道为什么这不起作用.我已经使用在线验证器验证了JSON,看起来没问题和Jquery,它应该没问题.谁能给我一个线索? 解决方法
需要在PHP输出中更改一些东西以使其由Javascript或JQuery处理
<?php //just set a header before output header('Content-Type:application/json;'); echo json_encode($myArray); 这对我来说总是有用的. 还有一件事,当你需要使用PHP输出作为JSON API在JQuery中进行解析等…我建议你将错误处理设置为false,因为PHP显示的错误可能导致json输出无法读取json (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |