サーバー側はC#だとおっしゃっていますが、WCFを使用していますか?ここにそれについての素晴らしい記事があります:http:
//bendewey.wordpress.com/2009/11/24/using-jsonp-with-wcf-and-jquery/
基本的に、コールバック関数の呼び出しにラップされたjsonを返すには、WCF(または使用しているサーバー側のコード)を設定する必要があります。
ただし、jqueryを使用すると、「?Callback =?」を追加するだけで済みます。あなたのURLに、dataTypeを'jsonp'に変更し、残りのことは忘れてください。jsonpまたはjsonpCallbackオプションを設定する必要はありません。
jsonリクエストとは対照的に、jsonpリクエストは「d」プロパティでラップされていないデータを返すため、コールバック関数は次のようになります。
function(data) { var a = data.myProperty ... }
それよりも
function(data) { var a = data.d.myProperty ... }
そして、メソッド全体は次のようになります。
var url = configuration.serviceUrl + "/" + method + "?callback=?";
var options = {
type: 'GET',
url: url,
data: args,
dataType: "jsonp",
contentType: "application/json",
success: function(data) {
if (callback != null) callback(data);
}
};
if (typeof errorCallback != 'undefined')
options.error = errorCallback;
$.ajax(options);