2015-02-07 85 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