使用AngularJS的Ajax调用

使用AngularJS的Ajax调用,angularjs,Angularjs,我有一个PHP服务器页面,返回JSON格式的数据,如下所示: <?php $data = array( (object)array( 'title' => 'myfirstvalue', 'value' => 'myfirsttext', ), (object)array( 'title' => 'mysecondvalue', 'value' => 'mysecondtext


我有一个PHP服务器页面,返回JSON格式的数据,如下所示:

<?php 
$data = array(
    (object)array(
        'title' => 'myfirstvalue',
        'value' => 'myfirsttext',
    ),
    (object)array(
        'title' => 'mysecondvalue',
        'value' => 'mysecondtext',
    ),
);

$json = json_encode($data);
echo $json; 
?> 

现在我需要使用AngularJS显示JSON标题属性。摘自教程,我改编了以下代码:

<!DOCTYPE html>
<html lang="en">


<head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script>
</head>

<body ng-app="myapp">

  <div ng-controller="MyController" >
    <button ng-click="myData.doClick(item, $event)">Send AJAX Request</button>
    <br/>
    Data from server: {{myData.fromServer}}
  </div>

  <script>
    angular.module("myapp", [])
        .controller("MyController", function($scope, $http) {
            $scope.myData = {};
            $scope.myData.doClick = function(item, event) {

                var responsePromise = $http.get("http://localhost/myfunction.php");

                responsePromise.success(function(data, status, headers, config) {
                    $scope.myData.fromServer = data.title;
                });
                responsePromise.error(function(data, status, headers, config) {
                    alert("AJAX failed!");
                });
            }


        } );
  </script>

</body>

</html>

发送AJAX请求

来自服务器的数据:{{myData.fromServer} angular.module(“myapp”,[]) .controller(“MyController”,函数($scope,$http){ $scope.myData={}; $scope.myData.doClick=函数(项、事件){ var responsePromise=$http.get(“http://localhost/myfunction.php"); 成功(函数(数据、状态、标题、配置){ $scope.myData.fromServer=data.title; }); 错误(函数(数据、状态、标题、配置){ 警报(“AJAX失败!”); }); } } );
但是,当我单击按钮时,没有显示任何内容。你知道这段代码哪里出了问题吗? 谢谢

线

$scope.myData.fromServer = data.title;
这不好。一般来说是的,但在这些代码中不是。为什么?返回PHP代码:

array(
    [0] => array(
        'title' => ...,
        'value' => ....
    ),
    [1] => array(
        'title' => ...,
        'value' => ....
    )
);
你没有关键的“标题”。您应该使用数据[0]。标题来显示结果(键“0”)

在这种情况下,我更喜欢使用下划线JS(barrelandeJS.org)。方法(list,propertyName)对我来说似乎很好。在这里阅读更多信息-

如果您将
console.log(data)
放入成功回调中,它是否显示收到了数据?