下面是一个简单的解决方案,如果不想定义一个操作过滤器
使用jQuery的客户端代码:
$.ajax("http://www.myserver.com/Home/JsonpCall", { dataType: "jsonp" }).done(function (result) {});
MVC控制器的行动。用执行查询字符串提供的回调函数的JavaScript代码返回内容结果。还为响应设置JavaScript MIME类型。
public ContentResult JsonpCall(string callback)
{
return Content(String.Format("{0}({1});",
callback,
new JavaScriptSerializer().Serialize(new { a = 1 })),
"application/javascript");
}