你的位置:首页 > 软件开发 > Java > web端跨域调用webapi

web端跨域调用webapi

发布时间:2015-08-31 15:00:29
在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案。通过自己的研究以及在网上看了一些大神的博客,写了一个Demo首先新建一个webapi的程序,如下图所示:由于微软已经给我们搭建好了webapi的环境,所以我们不必去添加引用一些dll,直接开始写代码吧 ...

web端跨域调用webapi

在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案。web端跨域调用webapiEmployees.cs里的内容如下:到此我们完成了几个基本的WebApi的Get方法。
 1 <script> 2   $(document).ready( function () { 3     $.ajax({ 4       type: 'GET', 5       url: 'http://localhost:7974/api/employees/get', 6       dataType: 'JSON', 7       success: function (data) { 8         alert( "姓名:" + data[0].Name + " 性别:" + data[0].Gender + " 住址:" + data[0].Address); 9       }10     });11   })
按照我的步骤你们一定没有成功吧?在这里跟大家解释一下 Access-Control-Allow-Origin是HTML5中定义的一种服务器端返回Response header,用来解决资源(比如字体)的跨域权限问题。内容如下:
 1 using System.Web; 2 using System.Web.Http.Filters; 3 using System.Web.Mvc; 4  5 namespace APIApplication 6 { 7   public class CrossSiteAttribute : System.Web.Http.Filters.ActionFilterAttribute 8   { 9     private const string Origin = "Origin";10     /// <summary>11     /// Access-Control-Allow-Origin是HTML5中定义的一种服务器端返回Response header,用来解决资源(比如字体)的跨域权限问题。12     /// </summary>13     private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin" ;14     /// <summary>15     /// originHeaderdefault的值可以使 URL 或 *,如果是 URL 则只会允许来自该 URL 的请求,* 则允许任何域的请求16     /// </summary>17     private const string originHeaderdefault = "http://192.168.13.7:8002" ;18     /// <summary>19     /// 该方法允许api支持跨域调用20     /// </summary>21     /// <param name="actionExecutedContext"> 初始化 System.Web.Http.Filters.HttpActionExecutedContext 类的新实例。</param>22     public override void OnActionExecuted( HttpActionExecutedContext actionExecutedContext)23     {24       actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);25     }26   }27 }
 

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:web端跨域调用webapi

关键词:web

web
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。