webapi修改在mvc中html,VS2017 MVC项目中引入WEBAPI需要注意的地方

本文介绍如何在现有MVC项目中整合WEBAPI,包括配置路由、添加跨域支持等步骤,并提供实现JSON输出的具体方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在现有的MVC项目中如何添 WEBAPI的项目,以前采用ashx方式实现JSON的输出,现在统一走WEBAPI的方式。

1、在项目中的App_Start 文件夹中的 WebApiConfig 文件内,查看并修改 WebAPI 的路由(当然还有别的其他配置)

在该文件内,有一个默认路由配置

public static class WebApiConfig

{

public static void Register(HttpConfiguration config)

{

// Web API 配置和服务

// Web API 路由

config.MapHttpAttributeRoutes();

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

config.Routes.MapHttpRoute(

name: "DefaultApi",

routeTemplate: "api/{controller}/{id}",

defaults: new { id = RouteParameter.Optional }

);

}

}

2、在Global文件中添加。GlobalConfiguration.Configure(WebApiConfig.Register);该项记录。整体显示如下:

public class MvcApplication : System.Web.HttpApplication

{

protected void Application_Start()

{

AreaRegistration.RegisterAllAreas();

GlobalConfiguration.Configure(WebApiConfig.Register);

FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

RouteConfig.RegisterRoutes(RouteTable.Routes);

BundleConfig.RegisterBundles(BundleTable.Bundles);

}

}

3、在Controllers文件夹中再建立一个API文件夹,当然这步骤也可以不做,主要是区分不同的Controller类。该下面的类继承自ApiController类。

4、Web API  中跨域调用时需要引入Microsoft.AspNet.Cors 的引用。可以使用NuGet在项目中安装 Microsoft.AspNet.Cors

注: 在OWIN 中需要引用 的是 Microsoft.AspNet.WebApi.Cors

9ae80cd043ef094b88504e1338a0750a.png

Microsoft.AspNet.Cors 安装成功后,需要在 WebApiConfig   文件中添加可跨域方法配置

最主要添加代码

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

EnableCorsAttribute 在命名空间 System.Web.Http.Cors 中(在新安装 的  Microsoft.AspNet.Cors 内)

ce24ab000df16c61758737e1dce47aff.png

5、客户端跨域方法。

这个时候,就需要在调用 API 的 JS 中设置对跨域的支持。

好在 JQuery 提供了简单的方法,只需要通过 JQ 设置 :jQuery.support.cors = true

940b1dc7754cf9adb32cec042d4facf4.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值