Asp.net 使用 Jsonp
简介
由于JavaScript的安全机制,ajax不支持跨域调用.所以出现了jsonp.
实现
服务器
public string Jsonp(string name)
{
string result = string.Format("Welcome {0}", name);
StringBuilder sb = new StringBuilder();
string callback = Request.QueryString["callback"] != null ? Request.QueryString["callback"] : "?";
JavaScriptSerializer js = new JavaScriptSerializer();
sb.Append(callback + "(");
sb.Append(js.Serialize(result));
sb.Append(");");
//可以直接使用response
//Response.Write(sb.ToString());
//不可以返回json格式数据,返回必须是字符串格式,可以试试改为返回JsonResult,在开发者模式中查看两者Response的区别
//return Json(sb.ToString(),JsonRequestBehavior.AllowGet);
return sb.ToString();
}
页面调用,在另一解决方案中实现
Tips
jsonp: 'callback',
json标识符可以自定义,不过前后端要保持一致

浙公网安备 33010602011771号