你说服务器端是 C# - 你在使用 WCF 吗?这里有一篇很棒的文章:http:
//bendewey.wordpress.com/2009/11/24/using-jsonp-with-wcf-and-jquery/
基本上,您需要设置 WCF(或您正在使用的任何服务器端代码)以返回包装在对回调函数的调用中的 json。
但是,使用 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);