2011-12-09 5 views
3

他の誰かが作成したREST APIを呼び出しています。クロスドメインアクセスを容易にするためにJSONPをサポートしています。私は戻ってサービスから入手JSON-Pコールバック関数が文字列を受け入れる必要がありますか?

応答は次のようになります。

mycallback('{"token": "123456789"}'); 

お知らせ単一引用符は、JSONデータをラップします。生のオブジェクトではなく文字列として渡します。 JQueryはこれを扱うことができますが、他のライブラリは代わりに未加工のオブジェクトを期待しているようです。

mycallback({"token": "123456789"}); 

それはJSONデータを解析する必要性を回避するので、生のオブジェクトパラメータは、私に多くの意味がありますが、私は調整を行うためにAPIのメンテナを尋ねる前に、確実に知りたい:

最も正しいのはどれですか?

答えて

3

shown hereというjavascriptリテラル(秒)を渡すことは、文字列を逆シリアル化してjavascriptオブジェクトに戻さないようにするためにより正確です。文字列を渡す

0

は明らかに悪いことである - 次の2つの選択肢(#1が好ましい)があります。

  1. をお使いください代わりに文字列
  2. の適切JSONPを送信するためにJSONPサービスの開発を依頼しますコールバック関数スマートなのでのようなものを使用します。​​は文字列です。
+0

私は使用しているフレームワークでJSON-Pの処理を使用していますので、#2は実際には/実用的ではありません。 – Soviut

関連する問題