私は必死の助けが必要です。私はこれで4時間過ごしましたが、かなり疲れてきました。:/ これが私の状況です:
外部サイトに (jQuery $.post を使用して) POST 要求を行う Javascript アプリケーションがあります。外部サイトでは、Apache Camel を Jetty で実行して Web に公開しています。私が Camel で作成した Web サービスは、すべての要求に対して JSON データを想定しています。たとえば、1 つのリクエストには id が必要なので、それを送信し{"id": 10}
ます。
ここに私の問題があります: Javascript からは動作しません。投稿リクエストを送信するツールがいくつかあります (ブラウザ用の Poster 拡張機能など)。Poster を使用して body を に設定すると{"id": 10}
、問題なく動作します。サービスでその正確な文字列を取得します。
しかし、Javascript から投稿すると、何か違う結果が得られます。JSON オブジェクトを送信すると、サービス側で文字列 "id=10" が表示されます。(このシナリオでは問題ありませんが、最終的には実際の JSON オブジェクトが必要になります。) JSON オブジェクトを文字列化すると、JSON 文字列が取得され、すべての文字だけがエスケープされます。(例: "%7Bid%33...")。
データを投稿するために可能なすべての方法を試したことを誓いますが、奇妙な既に解析された JSON を取得するか、エスケープされた文字列を取得します (またはまったく何も取得しません)。JavascriptでJSONオブジェクトを解析せずに送信する方法はありますか(私の投稿ツールのように)? そうでない場合、取得した JSON 文字列をエスケープ解除する安全で効率的な方法はありますか?
どんな助けでも本当に感謝しています。