获取SyntaxError:使用Angular.js的意外令牌

时间:2016-10-01 07:12:32

标签: javascript php angularjs

使用Angular.js和PHP删除数据后,我收到以下错误。

  

错误:

angular.min.js:118 SyntaxError: Unexpected token < in JSON at position 0
    at Object.parse (native)
    at xc (http://localhost/sunil/assets/js/angular.min.js:16:379)

我正在解释下面的代码。

$scope.deleteData=function(id){
        $http.post("model/add.php", {
            'id':id,
            'action':'Delete'
        }).success(function(data,status,headers,config){
           console.log('add data',data,JSON.parse(data));
            if(data.msg !=""){
                $rootScope.msg = data.msg;
                $rootScope.alertclass = "alert-success";
                $scope.dataList.splice(id, 1);
            }else{
                $rootScope.msg = data.error;
                $rootScope.alertclass = "alert-danger";
            }
        });
    }

if($data->action == 'Delete'){
        $data_id = $data->id;
       // echo ($data_id);exit;
        $deleteQry = "DELETE FROM ang_user WHERE id='$data_id'";
        $result = $conn->query($deleteQry);
        if ($result) {
            $arr = array('msg' => "Data Deleted Successfully!!!", 'error' => '');
        } else {
            $arr = array('msg' => "", 'error' => 'Error In Deleting record');
        }
    }
    $json = json_encode($arr);
    print_r($json);

数据正在从数据库中删除但在成功函数内部抛出此错误。请帮我解决这个错误。

1 个答案:

答案 0 :(得分:1)

首先尝试这样做:

console.log(data);

如果这提供了有效的字符串格式,那么您的JSON.parse(data)将有效。但很明显,这不是这种情况。

例如JSON.parse('{"1": 1, "2": 2}')可以使用JSON.parse({"1": 1, "2": 2})