使用AngularJS从JSON中的数据库中获取数据并将其显示到文本框中

时间:2017-02-01 07:14:17

标签: javascript php angularjs json

我是AngularJS的新手。我只是想从我的数据库中获取数据并将其存储在文本框中。

这是我的代码:

$scope.sample = function(){
    $http.post('query?action=get',{

    })
    .then(function(response){
        $scope.info = response;
    })
    .catch(function(response){
        alert("error");
     });
};
 // call the function
 $scope.sample();

并在PHP中:

$action = $_GET['action'];

if($action == 'get'){

   $sql = "SELECT * FROM tableSomething";
   $sql_res = $con->query($sql);
   $data = array();
   while($row = mysqli_fetch_array($sql_res)){
         $data[] = $row;
   }

    echo json_encode($data);
}

和我的HTML文件

<input type="text" ng-model="info.firstname" >

告诉我哪里弄错了。谢谢!

1 个答案:

答案 0 :(得分:0)

您的response是一个对象。

首先,您的服务器请求是GET而不是POST。

因此请使用$http.post('query?action=get',{

更改$http.get('query?action=get',{

如果没有其他代码问题,您获得data response

$scope.info = response;替换为$scope.info = response.data;

您的示例代码缺少$scope的定义,因此我无法完全测试它。

我希望我已经解决了你的问题

更新1:

确定。 AngularJS太有见地了。

它看到响应内容具有JSON结构并将其作为对象返回。

让stringify:

.then(function(response){
        $scope.info = JSON.stringify(response);
    })

并更改您的

<input type="text" ng-model="info.firstname" >

<input type="text" ng-model="info" >

Here一个JSFiddle示例