在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案。通过自己的研究以及在网上看了一些大神的博客,写了一个Demo首先新建一个webapi的程序,如下图所示:由于微软已经给我们搭建好了webapi的环境,所以我们不必去添加引用一些dll,直接开始写代码吧 ...
在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案。
Employees.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
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。