Rest 角度错误:对象没有方法推送
我正在尝试使用REST服务和Rest 角度错误:对象没有方法推送,rest,angularjs,Rest,Angularjs,我正在尝试使用REST服务和$resource进行角度工作 它可以从JSON获取数据,但当使用$save()或名为$rec()的自定义方法进行更新时,控制台中出现一个错误,错误是:TypeError:Object#没有方法“push”。将isArray切换到true或false,没有改变任何内容 我犯了一个错误: 当您使其在自己的服务器上运行时,该错误是可见的 html: <div ng-controller="TestCtrl"> <div ng-repeat="ob
$resource
进行角度工作
它可以从JSON获取数据,但当使用$save()
或名为$rec()
的自定义方法进行更新时,控制台中出现一个错误,错误是:TypeError:Object#没有方法“push”
。将isArray
切换到true
或false
,没有改变任何内容
我犯了一个错误:
当您使其在自己的服务器上运行时,该错误是可见的
html:
<div ng-controller="TestCtrl">
<div ng-repeat="obj in objs">
<div>
<h3>{{obj.name}}</h3>
<h3>{{obj.age}}</h3>
<input type="text" ng-model="obj.name" /><br />
<input type="text" ng-model="obj.age" /><br />
<button ng-click="save(obj)">Save</button>
</div>
</div>
</div>
你知道错误来自哪里吗 我已将您的plnkr复制到我的开发机器上,设置了一个sinatra站点,如下所示,但我仍然没有看到此错误。当我点击一个蓝色按钮时,客户端发布了一个JSON字符串,如
{“name”=>“louise”,“age”=>“32”}
,一切都很好。您是否适当地处理了POST
这是我的服务器代码:
app.ru:
# -*- coding:utf-8; mode:ruby; -*-
require 'json'
require 'multi_json'
require 'sinatra/base'
require 'sinatra/json'
class App < Sinatra::Base
helpers Sinatra::JSON
get '/datas.json' do
json([
{"name" => "louise", "age" => "32"},
{"name" => "jeanne", "age" => "25"},
{"name" => "renée", "age" => "21"},
{"name" => "fernande", "age" => "28"}
])
end
post '/datas.json' do
data = JSON.parse request.body.read.to_s
200
end
end
# -*- coding:utf-8; mode:ruby; -*-
require './app.rb'
run App
您已经定义了自定义方法
$rec
,但为什么要调用$save
?我的情况不同:在保存数据时出错,而不是在获取数据时出错。我创建了一个带有isArray参数的自定义函数“$rec()”。但将其从true更改为false并不能消除错误。@akonsu我尝试了标准的$save()
方法和自定义的$rec()
方法。结果是一样的。我在plnkr中没有看到这个错误。当我点击“保存”时,它给了我404。现在,这是一个静态的.json文件,在我发布时没有记录任何内容。我只是想在控制台上检查一下这篇文章是否有效。然后将其插入服务器并处理动态数据。所以我想我的错误来自于这个。你认为呢?@akonsu是对的,@desgnl你的问题是$resource
对象中的url指向一个文件-datas.json,用于检索数据,但不用于保存,因为$save()方法
唯一做的事情就是根据指定的url发送POST请求和数据。因此,您需要一些后端来处理此请求并发送响应,如@akonsu所示。在这种情况下,您将没有错误。
# -*- coding:utf-8; mode:ruby; -*-
require './app.rb'
run App