1

CouchApp から静的アセット (Backbone.js アプリの HTML と JS など) を提供する場合、それらの静的ページが POST されると、405 Method Not Allowed エラーが適切に発生します。ただし、canvas/iframe 用の Facebook アプリを開発する場合、Facebook はすべてのリクエストを POST として送信します。Couch で POST メソッドを許可する方法はありますか?

4

2 に答える 2

0

私はこれについて悲観的です。よくわかりませんが、無理かもしれません。

Facebook にカスタム ヘッダーを追加するように指示することはできますか? Couch は、X-HTTP-Method-OverridePOST リクエストのヘッダーをサポートしています。本当に必要な HTTP メソッドに設定するだけです。

于 2011-05-17T01:46:18.440 に答える
0

私は同じ問題に遭遇しましたが、これまでのところ、CouchDB にリクエストをリダイレクトする javascript を出力させるだけで (基本的にはクライアントのブラウザー)、別のホスティング業者を回避することができました。

@JasonSmith がコメントしたように、_show 関数は POST メソッドを受け取ることができます。だから私は基本的に、shows/proxy.js と呼ばれる新しい _show 関数を作成しました。

function(doc, req) {
   return "<script>document.location='TARGETURL';</script>";    
}

TARGETURL を実際の Canvas URL ページに置き換えます。次に、このページを指すように FB キャンバスの URL を設定します。

http://fbdemo.iriscouch.com/fbdemo/_design/fbdemo/_show/proxy?

これは FB キャンバスで問題なく動作し、最終的に私の CouchApp が表示されます! 次のステップは、FB から QueryString パラメータを渡し始めることです (ログイン、グラフなどに応じて...)。

お役に立てれば!

于 2011-12-19T12:01:23.393 に答える