JSONP 方式只能以GET方式请求数据,返回数据类型为JSON格式
客户端代码:
<script type="text/javascript">
$(function () {
$.ajax({
type: "GET",
cache: false,
url: "http://192.168.0.158:8030/Home/ResultText",
data: { },
dataType: "jsonp",
//jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
jsonpCallback: "ResultContent"//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
});
});
function ResultContent(data) {
//处理data
//alert(data);
var array = new Array();
$.each(data, function (index, val) {
array.push(val.Name);
});
alert(array.join("-"));
}
</script>
服务端代码(MVC):
[HttpGet]
public void ResultText()
{
List<Student> list = new List<Student>();
for (int i = 0; i < 3; i++)
{
list.Add(new Student() { Id = i, Name = "测试" + i.ToString() });
}
var ret = JsonConvert.SerializeObject(list);
//Response.ContentType = "application/json;charset=utf-8";
string jsonCallBackFunName = Request.Params["callback"].ToString();
Response.Write(string.Format("{0}({1})", jsonCallBackFunName, ret));
Response.End();
}