繁体   English   中英

AngularJS,ngResource-意外的令牌错误

[英]AngularJS, ngResource - Unexpected token Error

编辑:

我弄错了,但没有解决办法。 似乎“ isEditable”,“ isOnline”和“ isRecycled”不是作为布尔值而是作为字符串发送。 因此,我的Validaton没有通过,并且错误响应不是有效的JSON。

但是,为什么.save()调用将布尔值发送为字符串?


原始帖子

谁能告诉我为什么下面的函数抛出

语法错误:意外令牌'

在Object.parse(本机)

在fromJson( https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.js:1072:14

由于正确记录了postData,因此我认为资源保存有误。 在服务器端,我有一个使用Symfony2组件制作的简单的自制php框架,资源的$ save调用在数据库中添加了新行,并将该行作为JSON对象返回。

        $scope.createStructure = function($event, createdStructure){
        $event.preventDefault();
        if(createdStructure.copy != null){
            copyId = createdStructure.copy.id;
        } else {
            copyId = 0;
        }
        postData = {
            'title': createdStructure.title,
            'id': copyId,
            'isEditable': false,
            'isOnline': false,
            'isRecycled': false
        }
        console.log(postData);
        Structure.save({}, postData, function(response){
            console.log(response);
            console.log(newStructure);
        });
    }

PHP无法确定传入的数据类型。POST数据被视为字符串。 检查此先前的答案 我相信它涵盖了您遇到的问题。

PHP也有FILTER_VALIDATE_BOOLEAN ,我链接的答案中也有介绍。 我想会帮你的。

例如:

$isEditable= filter_var ($_POST['isEditable'], FILTER_VALIDATE_BOOLEAN);

那应该使$isEditable一个布尔值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM