我是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" >
告诉我哪里弄错了。谢谢!
答案 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示例