无法使用angular.js和php从db获取数据

I am trying to get data from MySQL DB using PHP and show them using Angular.js . But here I am getting the following message in browser's console and became unable to fetch the data.

response <br />
<b>Notice</b>:  Trying to get property of non-object in <b>C:\xampp\htdocs\phpdemo\js\edit.php</b> on line <b>3</b><br />
<br />
<b>Notice</b>:  Trying to get property of non-object in <b>C:\xampp\htdocs\phpdemo\js\edit.php</b> on line <b>9</b><br />
false

I am explaining my code below.

edit.php:

<?php
$data = json_decode(file_get_contents("php://input"));
$user_id = mysql_real_escape_string($data->user_id);
$con = mysql_connect('localhost', 'root', '');
mysql_select_db('dbtuts', $con);
$qry="SELECT * FROM users WHERE user_id=".$user_id;
$qry_res = mysql_query($qry);
$r = array();
if( $qry_res->num_rows>0){
while($row = $qry_res->fetch_assoc()){
$r[] = $row;
}
}
$res = json_encode($qry_res);
echo $res;
?>

update.js:

var app=angular.module("edit_data", []);
app.controller("updateController",function($scope,$http,$location){
    $scope.errors = [];
    $scope.msgs = [];
    var id=gup( "edt_id" );
    console.log("id is :",id);
    $http.get('js/edit.php',{"user_id":id}).success(function(response){
        console.log('response',response);
    });
    $scope.update_data=function(){
        $http.post('js/update.php',{"first_name":$scope.first_name,"last_name":$scope.last_name,"city":$scope.city}
        ).success(function(data, status, headers, config){
            if(data.msg!=''){
            $scope.msgs.push(data.msg);
            }else{
                $scope.errors.push(data.error);
            }
        }).error(function(data, status) { // called asynchronously if an error occurs
               // or server returns response with an error status.
              $scope.errors.push(status);
        });
    }
});
function gup( name ) {
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( window.location.href );
    if( results == null )
        return "";
    else
        return results[1];
}

Here I need inside the success function(i.e-$http.get(..)) the console message should display all requested DB values. Please help me to resolve this issue.

dongluxin6711
dongluxin6711 按照本教程Angular与phpmysql
4 年多之前 回复
driuwt9557
driuwt9557 是的@xpy对不起那个
大约 5 年之前 回复
dsstlsqt696435
dsstlsqt696435 我想通过“转储它”@Drew意味着创建一个var_dump来查看变量中的内容,例如:var_dump($data);.不要删除它。见var_dump
大约 5 年之前 回复
doufu4333
doufu4333 :我删除了这个,但输出没有到来。
大约 5 年之前 回复
dongqiao0953
dongqiao0953 也许$data不是第3行的快乐露营者。把它丢掉
大约 5 年之前 回复

2个回答



成功和其他便利方法从$ http中删除。 您需要在$ http上使用类似promise的API,如下所示</ p>

  //这将触发对js / edit.php?user_id = value 
$ http的调用。 get('js / edit.php',{“user_id”:id})
.then(function(response){
//响应对象的数据属性将具有来自server
console.log的实际响应(' 响应'+ response.data);
});
</ code> </ pre>
</ div>

展开原文

原文

success and other convenience methods are removed from $http. You need to use the promise-like API on $http like below

        // this will fire a call to js/edit.php?user_id=value
        $http.get('js/edit.php',{"user_id":id})
             .then(function(response){
              // data property of response object will have actual response from server
              console.log('response'+response.data);
        });

duannian7116
duannian7116 好的,我正在努力。
大约 5 年之前 回复
doukui2011
doukui2011 然后你需要看看你的PHP脚本。 我们希望我们的PHP服务器为我们在AngularJS中进行的GET请求发送一些响应。 我不知道PHP,但检查xpy的答案,看看它是否有助于解决您的PHP问题。
大约 5 年之前 回复
duanmu5641
duanmu5641 它显示空白。
大约 5 年之前 回复
douyao1994
douyao1994 您是否在开发工具(F12)网络选项卡中检查了该Ajax调用的实际响应? 它说什么 ?
大约 5 年之前 回复
dsfdsf46465
dsfdsf46465 Arkantos:我添加了你的行,但它显示控制台输出为responsefalse。
大约 5 年之前 回复



php:// input </ code>保存 POST </ code>数据,所以 $ http.get('js / edit.php'...)</ code>请求应该是 $ http.post('js / edit.php'...)</ code>请求而不是按顺序 使这项工作。 </ p>
</ div>

展开原文

原文

php://input holds POST data so the $http.get('js/edit.php'...) request should be an $http.post('js/edit.php'...) request instead in order to make this work.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐