2015-02-07 70 views
0

我想用Angular创建一个Web应用程序,我需要一些帮助。我需要POST数据到api。而不是使用$http(它的工作原理),我想使用$resourcesave()

到目前为止,我还使用了GETquery,它们工作正常。但是当我尝试拨打save()时,我从来没有收到回复。当我检查服务器端时,我也看不到POST请求。

这里是我的$resource工厂代码(通常与我的实际API网址,当然)

.factory('ExamplePosts', function($resource) { 
    return { 
     all: $resource('http://my.website.com/api/') 
    }; 
}); 

在我的控制,我可以运行ExamplePosts.all.query().get(),并检索结果。 (我也看到我的服务器日志中的请求。)

然后我试着运行ExamplePosts.all.save(),并且我没有看到服务器日志上的POST请求。我可以通过表单发布,并且可以工作,但Angular似乎存在问题。

感谢您的帮助,谢谢!

+0

你是怎么传递给'保存'功能?语法是'ExamplePosts.all.save(paramsObj,dataObj,successFn,errorFn)' – 2015-02-07 21:21:04

+0

@WayneEllery我刚刚做了一些虚拟数据。 '.save({“id”:123})' – Caleb 2015-02-07 21:40:20

+0

它应该是'.save(null,{id:123});' – 2015-02-07 21:41:51

回答

0

你确实需要一个前缀“$”添加到保存方法。$保存()不.save()阅读更多关于那些需要$前缀read more

+0

不,你不知道。您可以使用$作为返回的对象,或者不使用它作为资源类的实例。 – 2015-02-07 23:44:43

+0

这两种方法都不起作用。在服务器端仍然没有看到任何东西。 (只有GET请求有效) – Caleb 2015-02-08 01:11:03

+0

您可以检查开发人员工具中的网络选项卡,以验证帖子是否正在运行并验证请求有效负载。这是一个[Plunkr](http://plnkr.co/edit/AWU4f6AgWKkjEqozPEvm?p=preview)它的工作。如果帖子工作正常,那么这是服务器端的问题,而不是客户端 – 2015-02-08 01:29:05