最近在做WebApi 进行开发的时候 一直会遇到跨域方面的问题那么如何进行跨域问题其实非常的简单。

1.一直在使用WebApi的时候总是遇到跨域的问题 那么 什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。

注:解决web API跨域其实比较简单,如果可以的话,如下的修改header即可,但是还是存在很多陷阱。首先必须保证做的更改API重新发布新的文件覆盖原有文件。我们一直调不通,就是因为发布文件中的配置并没有发生改变。另外使用Ajax调用的时候不能添加ContentType的配置。
同时使用服务端的CORS和客户端jQuery.support.cors = true;就可以解决所有的问题了。
另外一个Get和Post之外的HttpMethod我是用参数传进去的,因为有些浏览器不支持。

有的就是 CORS 跨域

让mvc  或者 webapi 支持CORS跨域的配置是:
在system.webServer节点上添加
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Max-Age" value="30"/>
<add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS"/>
<add name="Access-Control-Allow-Headers" value="Content-Type, Accept" />
</customHeaders>
</httpProtocol>

2. 服务端需要进行添加

HttpContext.Current.Response.AddHeader("Access-Control-Allow-Credentials","true");

客户端的jQuery:
$.ajax({
...
xhrFields: { //允许跨域访问是添加cookie
withCredentials: true
},
...
}

在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案。
通过自己的研究以及在网上看了一些大神的博客,写了一个Demo
首先新建一个webapi的程序,如下图所示:

转载于:https://www.cnblogs.com/LowKeyCXY/p/7002224.html

关于WebApi 跨域问题的解决的方式相关推荐

  1. Nginx 解决WebApi跨域二次请求以及Vue单页面问题

    Nginx 解决WebApi跨域二次请求以及Vue单页面问题 参考文章: (1)Nginx 解决WebApi跨域二次请求以及Vue单页面问题 (2)https://www.cnblogs.com/ji ...

  2. WebApi跨域的解决方法

    由于前段时间项目需求,需要用到WebApi跨域,我在网上也查阅很多这方面的资料,但是最终还是决定自己写一篇记录一下.       当一个请求url的协议.域名.端口三者之间任意一与当前页面地址不同即为 ...

  3. JavaScript跨域总结与解决办法

    JavaScript跨域总结与解决办法 什么是跨域 1.document.domain+iframe的设置 2.动态创建script 3.利用iframe和location.hash 4.window ...

  4. 跨域以及一些解决方法

    跨域 最近在回顾一些知识,归纳一下以前的笔记再结合各个资料说一下我对跨域和跨域问题的解决方法. 产生跨域安全问题不是后台服务器不允许前台调用, 其本质是浏览器的同源策略(Same-origin pol ...

  5. django中的缓存 单页面缓存,局部缓存,全站缓存 跨域问题的解决

    django中的缓存 单页面缓存,局部缓存,全站缓存 跨域问题的解决 参考文章: (1)django中的缓存 单页面缓存,局部缓存,全站缓存 跨域问题的解决 (2)https://www.cnblog ...

  6. Thinkphp5.1允许uni-app的H5跨域请求接口解决方法

    Thinkphp5.1允许uni-app的H5跨域请求接口解决方法 参考文章: (1)Thinkphp5.1允许uni-app的H5跨域请求接口解决方法 (2)https://www.cnblogs. ...

  7. vue-socket.io跨域问题的解决方法

    vue-socket.io跨域问题的解决方法 参考文章: (1)vue-socket.io跨域问题的解决方法 (2)https://www.cnblogs.com/zhengze/p/12294916 ...

  8. CDN中,字体文件的跨域问题和解决

    CDN中,字体文件的跨域问题和解决 参考文章: (1)CDN中,字体文件的跨域问题和解决 (2)https://www.cnblogs.com/hnsongbiao/p/7449532.html 备忘 ...

  9. Tomcat 跨域问题的解决

    Tomcat 跨域问题的解决 参考文章: (1)Tomcat 跨域问题的解决 (2)https://www.cnblogs.com/zhaoyanhaoBlog/p/9370830.html 备忘一下 ...

最新文章

  1. Android 获取apk签名的fingerprint
  2. 人工智能和物联网:智慧城市的交通管理
  3. MySQL 5.6 my.cnf配置优化
  4. 日志信息jar包 slf4j-api、slf4j-log4j12、log4j 之间的关系和使用
  5. 小米官宣:小米11取消附送充电器!
  6. leetcode最小面积_每日一道 LeetCode (51):盛最多水的容器
  7. Windows 下 Conda install 安装出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url解决措施
  8. Capistrano3 与 Mina
  9. Java中使用队列Queue
  10. 基于WebMatrix的轻量级Web开发系列课程
  11. drupal_prepare_form 大致是如何工作的 ?
  12. 解决ubuntu系统mysql open_files_limit配置不生效问题
  13. Java——包装器类
  14. antd表格分页设置
  15. abaqus python提取楼层剪力_用Python提取ABAQUS中节点集合的反力
  16. DOS 之for循环
  17. Vue 中使用高德地图api
  18. win10在电脑已经连接WIFI的情况下查询到WiFi密码(不方便询问或没有办法获得密码的时候)
  19. 实现radio单选框单击取消选中状态
  20. android+8g开机剩余,8G内存的iQOO开机只剩4G,Jovi没用,网友直言后悔了

热门文章

  1. boost::posix_time和boost::date_time杂项的测试程序
  2. ITK:注册IO工厂RegisterIOFactories
  3. VTK:几何对象之ConvexPointSet
  4. OpenCV均值移位(Meanshift)和Camshift算法
  5. C语言鸡尾酒排序cocktail sort算法(附完整源码)
  6. c语言二进制转十进制(附完整源码)
  7. QML基础类型之size
  8. php+curlmultiinit_多线程 - PHP的curl_multi_init并发测试问题
  9. shell编程--基本格式,基本语法,运算符,expr,(()),$[]
  10. 5.Qt自定义Button按钮的实现