.net mvc 几种跨域获取数据方案
方案一:
在web.conflg配置文件system.webServer节点中添加以下节点配置
<!--允许 "所有网站" 跨域访问写法:-->
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>
<add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>-
方案二: 某个方法允许跨域
在方法内添加代码: HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", "*");
方案三、 ajax-jsonp请求:
to:jsonp只支持get请求。
页面代码:
<script>
$.ajax({
url: 'http://localhost:54407/Home/GetJsonpData', //请求的url
dataType: "jsonp", //将请求类型设为值jsonp
//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
jsonp: "callback", //服务端会通过HttpContext.Request["callback"]; 拿到jsonpCallback这个回调函数的名称
jsonpCallback: "jsonpCallback", //自定义的jsonp回调函数名称"jsonpCallback",返回的json也必须有这个函数名称
success: function (json) {
console.log(json);
},
error: function (xhr, status, error)
{ console.log(xhr); }
});
</script>
后台代码:
[HttpGet]
public ActionResult GetJsonpData()
{
string callback = this.Request["callback"];
string data = "{\"msg\":\"hello world \"}";
this.Response.Write(callback + "(" + data + ")");
return new EmptyResult();
最新文章
- Python中模块安装文件的创建及使用
- 【十大经典数据挖掘算法】kNN
- Struts2上传大小限制
- JS settimeout 使用笔记
- Spring总结——AOP、JDBC和事务的总结
- 【BZOJ】1012: [JSOI2008]最大数maxnumber(树状数组+rmq)
- setContentScaleFactor 设置图片的分辨率
- ARPA
- 用Remastersys定制自己的Ubuntu安装光盘
- 将动态库添加到VC程序中
- js 模板引擎 - 超级强大
- iOS多线程总结(二)NSOperation
- 使用JDBC进行数据库的事务操作(1)
- IOS-QQ第三方登录
- springboo+nginx测试反向代理01
- DOS批处理:FOR中的Delims和Tokens参数
- leetCode- 472. Concatenated Words
- python常见的数据结构
- [Android Pro] AndroidStudio IDE界面插件开发(Hello World篇)
- 【JS】一款好用的JS日历选择插件【bootstrap-datetimepicker.js】