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(); }