当前位置: 首页 > news >正文

论坛网站模板室内装修设计学校

论坛网站模板,室内装修设计学校,石家庄网络公司排名,营销公司网站模板如果咱们有处理过MV5 跨域问题这个问题也不大。#xff08;1#xff09;为什么会出现跨域问题#xff1a;浏览器安全限制了前端脚本跨站点的访问资源#xff0c;所以在调用WebApi 接口时不能成功访问资源#xff0c;原因“同源策略”的存在#xff1a;同源指以下几点相同… 如果咱们有处理过MV5 跨域问题这个问题也不大。1为什么会出现跨域问题 浏览器安全限制了前端脚本跨站点的访问资源所以在调用WebApi 接口时不能成功访问资源原因“同源策略”的存在        同源指以下几点相同              (1) IP地址/域名              (2) 端口号              (3) 网络协议              以上三点相同即为同源浏览器将不做限制。        同源   WebFrom 前台Ajax调用后台PageLoad页时 因为是在同一站点以上三点均满足也就不会出现跨域的问题。        不同源 比如用微服务开发时前台和微服务没有在同一台服务器上虽然端口相同IP不同协议也相同这时就会出现了跨域的问题了。  引用脚本时会有例外2文章以AspNetCore Api 为例      2.1首先创建一个CoreAPI的项目这个就不多说了      2.2确保项目NuGet中引用 AspNetCore.ALL 里面包含 AspNetCore.Cors                         如果没有右击项目依赖项代开NuGet管理工具               如图所示查找                         2.3在Startup.cs 文件的ConfigureServices方法中注入如下代码    1第一种services.AddCors(options options.AddPolicy(Domain,builder builder.WithOrigins(http://a.example.com, http://c.example.com).AllowAnyMethod().AllowAnyHeader().AllowAnyOrigin().AllowCredentials()));     http://a.example.com, http://c.example.com 代表着允许访问的域就好像给这个域开放了一个权限允许访问的权限可以写多个逗号分隔            2第二种 services.AddCors(options options.AddPolicy(Domain,builder builder.AllowAnyMethod().AllowAnyHeader().AllowAnyOrigin().AllowCredentials()));            //AllowAnyMethod允许跨域策略允许所有的方法GET/POST/PUT/DELETE 等方法  如果进行限制需要 AllowAnyMethod(GET,POST) 这样来进行访问方法的限制            //AllowAnyHeader允许任何的Header头部标题    有关头部标题如果不设置就不会进行限制            //AllowAnyOrigin 允许任何来源            //AllowCredentials 设置凭据来源     这里是重点不多说了F12 查看源 阅读注释就明白了。                    在项目中可以写 多个services.AddCors() 需要注意的是 Domain1 的区别 咱们可以针对不同的限制些不同的 限制规则services.AddCors(options options.AddPolicy(Domain1,            builder builder.WithOrigins(http://a.example.com, http://c.example.com).AllowAnyMethod().AllowAnyHeader().AllowAnyOrigin().AllowCredentials()));services.AddCors(options options.AddPolicy(Domain2,            builder builder.WithOrigins(http://a.example.com, http://c.example.com).AllowAnyMethod().AllowAnyHeader().AllowAnyOrigin().AllowCredentials()));services.AddCors(options options.AddPolicy(Domain3,            builder builder.WithOrigins(http://a.example.com, http://c.example.com).AllowAnyMethod().AllowAnyHeader().AllowAnyOrigin().AllowCredentials()));services.AddCors(options options.AddPolicy(Domain4,            builder builder.WithOrigins(http://a.example.com, http://c.example.com).AllowAnyMethod().AllowAnyHeader().AllowAnyOrigin().AllowCredentials()));为什么做这么多限制呢其实大家每个请求都包含了很多内容                           比如通过 抓包工具看到的每条请求所包含的请求信息                                                       再比如我们通过HTTP发送请求时进行的设置下图举例还可以设置更多的设置这些设置都可以通过                                        services.AddCors()来进行设置                                                     2.4在Startup.cs 文件中的Configure()方法中注册我们的   Domain                             public void Configure(IApplicationBuilder app, IHostingEnvironment env)        {               app.UseCors(Domain1);            app.UseCors(Domain2);            app.UseCors(Domain3);            app.UseCors(Domain4);        }上面操作完之后我们就结束了准备任务现在可以进行使用了使用方法如下                        2.5使用如下                       1第一种  action[HttpGet({OrderNO}/{BranchID})]        //启用跨域        [EnableCors(Domain)]        public Object getMultipleOrderDetail(string OrderNO, int OrderNoType, string BranchID)        {            return vM.getMultipleOrderDetail(OrderNO, OrderNoType, BranchID);        }2第二种  控制器 //启用跨域[EnableCors(Domain)][Produces(application/json)][Route(api/BorrowOrder/[action])]       public class SP_PartsBorrowOrderController : Controller{                        2.6 :前台调用代码如下                        重点是这个节点    xhrFields: { withCredentials:true //跨域请求中带cookie },//必须有这项的配置不然cookie无法发送至服务端div        input idlogin value跨域请求 typebutton /    /div    script        $(#login).click(function () {            debugger            $.ajax({                type: POST,                url: http://localhost:54606/api/BorrowSignDetail/BorrowSignOperate,                data: JSON.stringify([  {      InputItemID: 111,      PartBarCode: 11,      PartNO: 11,      Counts: 11  }                ])                    ,                contentType: application/json,                dataType: json,                xhrFields: {                    withCredentials: true                },                success: function (result) {                    alert(result)                }            });        })    /script本文是以 CORS 进行实现 原文地址 https://www.cnblogs.com/szlblog/p/8921629.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.pierceye.com/news/537812/

相关文章:

  • 张家港市规划建设网站房地产估价师
  • 创建网站有什么用南京做网站优化的企业
  • 网站seo设置是什么怎么知道网站被百度k了
  • 个人网站开发的意义自己建设网站需要什么手续
  • 网站的建设流程怎样使用仿站小工具做网站
  • 佛山企业模板建站企业微信管理系统
  • 百度推广登录网站网站开发需要什么技术人员
  • 有关网站升级建设的申请书中国工业设计公司
  • 线上销售怎么做优化网站哪家好
  • 成都网站建设备案audio player wordpress 使用
  • 做网站设计的公司上海装修公司名字
  • 处理器优化软件se 网站优化
  • 网站制作公司汉狮网络电子商务网站建设评估的指标有哪些?
  • asp网站伪静态教程网站建设多少钱实惠湘潭磐石网络
  • wordpress 外贸网站建设wordpress模板安装
  • 中国精准扶贫网站建设现状惠安规划局建设局网站
  • 营销型网站制作建设网络营销推广技巧
  • 哪里有做网站推广的宁波招聘网站开发
  • 建站工具帝国双语网站开发
  • 呼和浩特企业网站建设赞叹天河网站建设公司
  • 新郑做网站公司吉林省建设项目招标网
  • 深圳做网站哪里最好南宁seo外包平台
  • 新开传奇网站推荐做百度推广怎么做才能有电话
  • 文件夹里内容做网站的分类做网站上线一般要多久
  • 企业网站页头背景图河南网络优化服务
  • 成品网站nike源码免费现在装宽带要多少钱
  • 綦江建设银行网站外贸精品网站建设
  • 互动性的网站做第一个php网站
  • 移动网站开发视频怎样嵌入遵义市公共资源交易平台
  • 教做美食的视频网站青岛手机网站建设报价