0

CrossDomainScriptAccessEnabledバインディングにプロパティを設定することでJSONPインターフェイスを公開するWCFサービスがあります。ここに私のようなコードの例があります。サーバーが通常HTTP200を返す場合、サーバーは期待どおりに動作し、のようなjavascriptを返しますjsonp_callback({"result":5})。ただし、例外をスローすると、形式は次のようになります。

jsonp_callback({"error_message":"needs auth"}, 401);

問題は、私が知る限り、jQueryは常にJSONPコールバックで単一のパラメーターを期待しているということです。jQueryのJSONP処理で2番目のパラメーターにアクセスする方法はありますか?これを簡単にする別の賢明なフレームワークはありますか?

4

1 に答える 1

1

jQueryでこれを行う方法が見つかりませんでした。しかし、私の現在の目的では、JSONPを自分で実装することで問題なく機能しました。

var scriptTag = document.createElement('script');
var cb = "jsonp_" + Math.floor(Math.random() * 1000000);
window[cb] = function(result, statusCode) {
    try {
        onResult(result, statusCode);
    } finally { 
        delete window[cb];
    }
}
scriptTag.src = url + "?callback=" + cb + "&input=" + encodeURIComponent(data);
$('head').append(scriptTag);
于 2012-10-26T19:00:58.057 に答える