API に Sinatra を使用し、クライアント側に jQuery/HTML5/Phonegap を使用してアプリケーションを開発しました。
基本的に JSON データを使用して Sinatra API にリクエストを POST する単純な HTML5 からアプリケーションをテストする際に問題があります。
JSONP について聞いたことがありますが、GET ではなく POST を使用しているため、問題が解決するとは思いません。
私が探しているべき他の解決策はありますか?
クロスドメイン XHRを試すことができます。これを使用するには、対話を可能にする応答ヘッダーを送信する必要があります。最も単純な場合は次のとおりです。
Access-Control-Allow-Origin: *
Sinatra では、次のように記述します。
headers 'Access-Control-Allow-Origin' => '*'
このようなアプローチの欠点の 1 つ - すべてのブラウザーがクロスドメイン XHR をサポートしているわけではありません。たとえば、Opera はサポートしていません。