【问题标题】:php return json with angularjs errorphp返回带有angularjs错误的json
【发布时间】:2013-09-20 09:58:53
【问题描述】:

我是 php 和 angularjs 的新手,

我有php代码,它可以像这样返回json数据

{id:10, sessionName:99, computer:99, quality:LAN(very fast), networkAuthentication:Disable,…}
{id:13, sessionName:55, computer:55, quality:LAN(very fast), networkAuthentication:Disable,…}
{id:14, sessionName:bb, computer:bb, quality:LAN(very fast), networkAuthentication:Disable,…}   
{id:15, sessionName:77, computer:77, quality:LAN(very fast), networkAuthentication:Disable,…}
{id:16, sessionName:00, computer:00, quality:LAN(very fast), networkAuthentication:Disable,…}

PHP 代码

<?php
  include 'config_open_db.php';

  $sql= "select * from rdp";
  $sth = mysql_query($sql);
  $rows = array();
  while($r = mysql_fetch_assoc($sth)) {
    $rows[] = $r;
  }
  print json_encode($rows);

 ?>

我想获取角度范围的数据

Angularjs 代码

angular.module('remoteApp')
 .factory('Rdpservice2', function ($resource) {
return $resource('scripts/services/rdp2.php', {}, {
  query:  {method: 'GET'}
  });
});


$scope.rdpDate = {'test': Rdpservice2.query()};

错误信息

TypeError: Object #<Resource> has no method 'push'

但是 $scope.rdpData 无法获取任何数据?

我很困惑,请帮助

【问题讨论】:

  • 如果您的 JSON 中没有复制错误,则它确实是无效的。应该是[{...},{...},...]。 IE。对象周围的括号和它们之间的逗号。
  • $scope.rdpDate = {'test': [Rdpservice2.query()]};还是一无所获?
  • 您粘贴的 JSON 输出不是来自json_encode( $rows );;它来自哪里?
  • 对不起,我看不懂,能不能说详细点?

标签: javascript php json angularjs


【解决方案1】:

Rdpservice2.query() 需要一个数组。

尝试将isArray = True 添加到{method: 'GET'}{method: 'GET', isArray: true}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-13
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 2014-08-12
    相关资源
    最近更新 更多