Angularjs 正在拆分发送的重新格式化数据
我只是想快速测试一下 因此,对/suppliers/me/websites的api调用返回一个数组,但当我尝试从Restangular对象进行修补时,它会发送被拆分的数据,如下所示Angularjs 正在拆分发送的重新格式化数据,angularjs,restangular,Angularjs,Restangular,我只是想快速测试一下 因此,对/suppliers/me/websites的api调用返回一个数组,但当我尝试从Restangular对象进行修补时,它会发送被拆分的数据,如下所示 Restangular.one('suppliers', 'me').getList('websites').then( (data) -> $scope.websites = data $scope.websites.patch()
Restangular.one('suppliers', 'me').getList('websites').then(
(data) ->
$scope.websites = data
$scope.websites.patch()
)
我对Angular&Restangular是新手,我缺少什么
编辑:为了清楚起见,我为测试安装了补丁,但通常我通过添加/删除来修改网站数组。看起来好像您正在从服务返回一个字符串,而Restanglar则需要一个有效的JSON响应 例如:
[{"0":"h","1":"t","2":"t","3":"p","4":":","5":"/","6":"/","7":"w","8":"w","9":"w","10":".","11":"p","12":"f","13":"c","14":"o","15":"n","16":"c","17":"e","18":"p","19":"t","20":".","21":"c","22":"o","23":"m"}]
编辑:我刚刚注意到在你的问题中,你说你的服务返回一个数组。再次检查它返回的内容,并确保它是正确的
编辑2:似乎Restanglar不仅需要有效的JSON,而且还需要按照我上面的代码示例格式的JSON(即
[{“key”:“value”}]
而不是[“value”]
当我使用getList时,响应必须是一个数组。我使用的是FOSRestBundle,原始响应是[“http:\/\/www.pfconcept.com”]
这是一个有效的json数组。另外,如果我在$scope.websites上运行foreach,我可以看到数据是正常的。在中,使用[{“key”:“value”}]
(一个键/值对数组)会生成一个带有请求负载的补丁,而[“value”]
导致一个带有空数组的修补程序。从技术上讲,后者可能是有效的JSON,但我认为Restangular并不是在寻找它。是的,我只是改变了api,重新使用了一个对象数组而不是一个字符串数组(原始响应:[{“url”:“http:\/\/www.pfconcept.com”}]
),它开始工作了
[{"website": "http://www.example.com"}, {"website": "http://www.domain.com"}]