方案一:

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

最新文章

  1. Python中模块安装文件的创建及使用
  2. 【十大经典数据挖掘算法】kNN
  3. Struts2上传大小限制
  4. JS settimeout 使用笔记
  5. Spring总结——AOP、JDBC和事务的总结
  6. 【BZOJ】1012: [JSOI2008]最大数maxnumber(树状数组+rmq)
  7. setContentScaleFactor 设置图片的分辨率
  8. ARPA
  9. 用Remastersys定制自己的Ubuntu安装光盘
  10. 将动态库添加到VC程序中
  11. js 模板引擎 - 超级强大
  12. iOS多线程总结(二)NSOperation
  13. 使用JDBC进行数据库的事务操作(1)
  14. IOS-QQ第三方登录
  15. springboo+nginx测试反向代理01
  16. DOS批处理:FOR中的Delims和Tokens参数
  17. leetCode- 472. Concatenated Words
  18. python常见的数据结构
  19. [Android Pro] AndroidStudio IDE界面插件开发(Hello World篇)
  20. 【JS】一款好用的JS日历选择插件【bootstrap-datetimepicker.js】

热门文章

  1. XGBoost 完整推导过程
  2. [linux] 多进程和多线程
  3. 网络编程ssh,粘包
  4. python函数中的不定长参数
  5. JAVA大数的一些操作
  6. 理解Javascript执行过程
  7. pcp 基本使用
  8. java 声明并初始化整型变量
  9. X509证书 指定了无效的提供程序类型 System.Security.Cryptography.CryptographicException 错误解决方法
  10. oracle--sqlplus格式化输出