javascript - AngularJS and PHP - Notice: Undefined property: stdClass -
i have simple patch http request angularjs php , i'm getting error notice: undefined property: stdclass::$todoname in console. here codes:
html
<div ng-controller="updatetodocontroller"> <div class="input-field col s12" ng-repeat="t in todo">       <input id="{{ t.id }}" type="text" class="validate" ng-model="todoname">       <label class="active" for="{{ t.id }}">{{ t.name }}</label>       <button class="btn waves-effect waves-light" ng-click="updatetodo(t.id)">update       </button> </div> </div> controller
function updatetodocontroller($http, $scope, $routeparams, $location) {       $scope.updatetodo = function(todoid) {          var req = {          method: 'patch',          url: 'app/endpoints/update-todo.php',          headers: {            'content-type': 'application/x-www-form-urlencoded'          },          data: {              todoname: $scope.todoname,             todoid: todoid             }         }          $http(req)         .then(function successcallback(response) {             $location.url('/');             console.log(response);         }, function errorcallback(response) {             console.log(response);         });     }  } update-todo.php
$data = json_decode(file_get_contents('php://input'));  $todoid = $data->todoid; $todoname = $data->todoname;  $statement = $db->prepare("update todo_list set name=? id=?"); $statement->execute(array($todoname, $todoid)); $results=$statement->fetchall(pdo::fetch_assoc); echo json_encode($results); it updates specific field id gives null value. missing here? thank you.
you sending data form-urlencoded trying use json_decode on it.
remove content-type header angular request.
$http default send application/json.
a simple test return dump of $data , inspect in browser dev tools
Comments
Post a Comment