當從CouchApp提供靜態資產(例如,Backbone.js應用程序的HTML和JS)時,當靜態頁面被POST時,適當地踢出405方法不允許錯誤。但是,當爲canvas/iframe開發Facebook應用程序時,Facebook將所有請求作爲POST發送。有什麼辦法讓Couch允許POST方法嗎?允許POST發送到CouchDB中的靜態文件CouchApp
回答
我對此很悲觀。我不確定,但它可能是不可能的。
是否可以告訴Facebook添加自定義標題? Couch在POST請求中支持一個X-HTTP-Method-Override
頭。只需將其設置爲您真正想要的HTTP方法即可。
無法告訴Facebook添加自定義標題。我想我可能需要在FB和Couch之間設置代理,這不幸消除了CouchApp的所有好處。 – 2011-05-17 05:03:54
無賴。我還有一些問題要添加到問題部分。 – JasonSmith 2011-05-18 00:25:06
我遇到了同樣的問題,到目前爲止,我只能讓CouchDB輸出javascript來重定向我的請求(所以基本上是客戶端的瀏覽器),從而避免了另一個主機。
由於@JasonSmith評論說,_show函數能夠接收POST方法;所以我基本上創建了一個名爲顯示一個新的_show函數/的proxy.js它(在它的最基本的功能)僅包括這樣的:
function(doc, req) {
return "<script>document.location='TARGETURL';</script>";
}
與你的真實帆布URL頁面替換TargetURL中。 後來我設置了FB帆布URL指向此頁面,
http://fbdemo.iriscouch.com/fbdemo/_design/fbdemo/_show/proxy?
這個作品在FB畫布就好了,終於顯示了我CouchApp!下一步是開始傳遞來自FB的QueryString參數(取決於登錄,圖形等),但我將其作爲練習留給我們的讀者;-)
希望這有助於!
- 1. Couchapp - 從CouchDB的
- 2. CouchDB複製錯誤 - 只允許POST
- 3. 頭中發送靜態名的文件
- 4. 允許Cuda中的靜態大陣列
- 5. 允許用戶發送電子郵件到許多不同的動態地址
- 6. 會話數據發送到靜態文件中的NodeJS
- 7. 發送文本到靜態控制
- 8. CouchApp/CouchDB中的會話和安全性?
- 9. 鏈接到Expressjs中的靜態文件中的靜態文件
- 10. 允許IIS 7.5通過ASP.NET管道提供靜態文件
- 11. Node.js的發送靜態文件,如HTML文件
- 12. Spring Security-允許GET但不允許POST
- 13. 是否允許使用靜態setter/getters?
- 14. 靜態數組,可變大小允許?
- 15. 允許靜態方法訪問DAO
- 16. Chrome不允許向允許的域發送Ajax請求
- 17. 帆JS發送404個狀態丟失的靜態文件
- 18. 快速發送Vue 2中的靜態文件App
- 19. 發送靜態文件,但有時會更改文件
- 20. 後綴郵件轉發 - 只允許發送到特定的電子郵件
- 21. 是(本地)靜態初始化允許發生prematurley?
- 22. Grails的HttpSecurity - 允許POST
- 23. 允許CloudWatch警報發送到其他帳戶中的SNS
- 24. 父類中的靜態方法不允許子添加非靜態方法?
- 25. 從CouchDB提供靜態HTML
- 26. 如何使用CouchApp爲CouchDB進行TDD?
- 27. Liferay - 發送靜態內容
- 28. 允許多個分發配置文件?
- 29. 爲什麼允許從靜態對象中創建非靜態引用?
- 30. 的onClick發送「POST」數據到PHP文件,並得到結果
等待,即使你*可以*發佈到靜態文檔附件,無論如何,在理想的世界裏,你會期望結果是什麼?你肯定可以收到一個_show函數的POST;我想知道是否有可能的解決方法,但我希望更多地瞭解您的詳細信息。 – JasonSmith 2011-05-18 00:26:33
顯然它在邏輯上沒有任何意義,但FB要求發佈到Canvas頁面(由於沒有服務器端處理,因此CouchApp是靜態頁面)... – Leon 2011-12-19 11:55:48