首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在mvc中对api action的ajax请求不会执行成功事件(asp.net webapi)

在MVC中,对API Action的AJAX请求不会执行成功事件可能有以下几个原因:

  1. 路由配置错误:首先需要确保在路由配置中正确地定义了API的路由。在ASP.NET Web API中,可以使用MapHttpRoute方法来配置路由。确保路由模板与AJAX请求的URL匹配,并且HTTP谓词(GET、POST等)正确。
  2. 跨域请求问题:如果AJAX请求涉及跨域访问,需要在服务器端进行相应的配置。可以通过在Web.config文件中添加以下代码来启用跨域请求支持:
代码语言:xml
复制
<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*" />
      <add name="Access-Control-Allow-Headers" value="Content-Type" />
      <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
    </customHeaders>
  </httpProtocol>
</system.webServer>
  1. 请求参数错误:确保AJAX请求的参数与API Action的参数匹配。可以使用开发者工具(如浏览器的开发者工具或Fiddler)来查看请求的参数是否正确发送到服务器。
  2. 异常处理:在API Action中,如果发生异常而没有进行适当的处理,可能会导致AJAX请求不执行成功事件。可以在API Action中使用try-catch块来捕获异常,并返回适当的错误响应。

综上所述,如果在MVC中对API Action的AJAX请求不会执行成功事件,可以检查路由配置、跨域请求设置、请求参数和异常处理等方面的问题。如果问题仍然存在,可以进一步查看服务器端的日志以获取更多信息。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云API网关:提供API管理、发布、调试等功能,详情请参考腾讯云API网关
  • 腾讯云CVM(云服务器):提供可扩展的云服务器实例,详情请参考腾讯云CVM
  • 腾讯云COS(对象存储):提供高可靠、低成本的云端存储服务,详情请参考腾讯云COS
  • 腾讯云SCF(云函数):支持事件驱动的无服务器计算服务,详情请参考腾讯云SCF
  • 腾讯云VPC(私有网络):提供隔离的、自定义的虚拟网络环境,详情请参考腾讯云VPC
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET Web API自身CORS支持:从实例开始

《通过扩展让ASP.NET Web API支持W3CCORS规范》我们通过自定义HttpMessageHandler为ASP.NET Web API赋予了跨域资源共享能力,具体来讲,这个自定义...从项目名称可以看出,WebApi和MvcApp分别为ASP.NET Web APIMVC应用,后者是Web API调用者。...ASP.NET Web APICORS提供原生支持实现在一个名为“Microsoft ASP.NET Web API 2 Cross-Origin Support”NuGet包。...我们依然沿用上面这个通过跨域Ajax请求获取联系人列表这个例子,我们右键选种WebApi项目并在上下文菜单中选择“管理NuGet包(Manage NuGet Package)”,弹出的如左图所示对话框...我们目的在于:当页面成功加载之后以Ajax请求形式调用上面定义Web API获取联系人列表,并将自呈现在页面上。

1.6K120

一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

请求递交给ASP.NET Web API自己消息处理管道之前,路由系统会解析出当前请求访问目标HttpController和Action名称。...如果你了解ASP.NET MVC路由注册,可能觉得奇怪:注册路由模板并没有表示目标Action路由参数,ASP .NET Web API如何根据请求确定哪个Action方法应该被调用呢?...由于浏览器默认情况下访问我们地址栏输入地址总是采用HTTP-GET请求,所以我们只能利用它来调用支持HTTP-GETAction方法,即定义ContactsControllerGet方法...如右图所示,用户行为(比如某个用户点击了页面上某个按钮)首先触发View某个事件,与之绑定定义View ModelEventHandler(View Model某个方法成员)被自动执行。...delete:发送Ajax请求调用Web API以删除指定联系人。联系人成功删除之后,load方法被调用以刷新当前联系人列表。

4.6K110
  • 快速入门系列--WebAPI--03框架你值得拥有

    接下来进入是俺ASP.NET学习中最重要WebAPI部分,现在流行互联网场景下,WebAPI可以和HTML5、单页应用程序SPA等技术和理念很好结合在一起。...由于很多内容比较相似,将进行简单介绍,不过框架异步编程模型用很多,值得学习参考。下图简单表述了框架请求处理过程: ?     ...HttpControllerDispatcher负责最后请求做最后处理,包括ApiController激活和目标Action执行等操作,用下表简述该过程: 行为 简介 HttpController...HttpActionDescriptorExecuteAsync方法实现Action执行Action支持7不同HTTP方法,默认为POST。...最后介绍与WebAPI客户端调用相关内容,提到调用大家第一反应就是Web页面通过javascript进行Ajax调用,获取数据并呈现,服务消费者是前端页面,这只是调用主要方式之一。

    2.1K90

    通过扩展让ASP.NET Web API支持JSONP

    同源策略以及跨域资源共享大部分情况下针对Ajax请求。同源策略主要限制了通过XMLHttpRequest实现Ajax请求,如果请求是一个“异源”地址,浏览器将不允许读取返回内容。...二、将JsonpMediaTypeFormatter应用到ASP.NET Web API 接下来我们通过于一个简单实例来演示同源策略针对跨域Ajax请求限制。...从项目名称可以看出,WebApi和MvcApp分别为ASP.NET Web APIMVC应用,后者是Web API调用者。...我们WebApi应用定义了如下一个继承自ApiControllerContactsController类型,它具有的唯一Action方法GetAllContacts返回一组联系人列表。...我们目的在于:当页面成功加载之后以Ajax请求形式调用上面定义Web API获取联系人列表,并将自呈现在页面上。

    1.6K80

    通过扩展让ASP.NET Web API支持W3CCORS规范

    那么如何利用ASP.NET Web API扩展实现针对CORS响应报头自动添加呢?可能有人首先想到是利用HttpActionFilter目标Action方法执行之后自动添加CORS响应报头。...目标Action方法只会在处理真正跨域资源请求过程才会执行,但是对于采用“OPTIONS”作为HTTP方法预检请求,根本找不到匹配目标Action方法。...从项目名称可以看出,WebApi和MvcApp分别为ASP.NET Web APIMVC应用,后者是Web API调用者。...我们目的在于:当页面成功加载之后以Ajax请求形式调用上面定义Web API获取联系人列表,并将自呈现在页面上。...ASP.NET MVC应用用户调用Web APIView,针对Ajax请求调用Web APIJavaScript程序被改写成如下形式:我们发送Ajax请求之前利用setRequestHeader

    2.4K90

    ASP.NET WebApi+Vue前后端分离之允许启用跨域请求

    前言:   这段时间接手了一个新需求,将一个ASP.NET MVC项目改成前后端分离项目。前端使用Vue,后端则是使用ASP.NET WebApi。...搭建完成前后端框架后,进行接口测试时发现了一个前后端分离普遍存在问题跨域(CORS)请求问题。因此就有了这篇文章如何启用ASP.NET WebApi CORS 支持。...() { //OPTIONS请求方法主要作用(预请求,判断是否能够请求成功): //用来检查服务器性能。...如:AJAX进行跨域请求预检,需要向另外一个域名资源发送一个HTTP OPTIONS请求头,用以判断实际发送请求是否安全。...//这样就不会出错,造成页面卡死状态,让用户无限制等下去 Response.Flush(); } } 二、解决ASP.NET WebApi

    2.7K20

    .NET MVC第八章、Web Api 跨域接口

    .NET MVC第八章、Web Api 跨域接口 ---- 目录 .NET MVC第八章、Web Api 跨域接口 创建Web Api项目 WebApi项目启动 主页API选项 ASP.NET...MVC WEB API操作 1、修改返回数据格式 2、修改访问路径 3、自定义API接口 创建自定义接口函数 启动访问 跨域配置 跨域访问测试 ---- 创建Web Api项目 创建项目的时候需要选择...WebApi项目启动 主页API选项 这里选择get请求api/values help下面的api/values对应结果 这个不是我们想要,那么我们单独访问一下ip:port/api/values...ASP.NET MVC WEB API操作 由于WebApi单独一个项目,它默认配置不太合适咱们使用,我们要对默认设置做一些调整。.../Values进行二次请求测试 发现数据已经从XML格式编程字符串格式,但是我们方式 2、修改访问路径 由于我们要根据请求头来判断请求具体函数,比较麻烦,所以我们访问路由上加上一个【action

    57120

    同源策略与JSONP

    实例演示:跨域调用Web API ? 接下来我们通过于一个简单实例来演示同源策略针对跨域Ajax请求限制。如右图所示,我们利用Visual Studio同一个解决方案创建了两个Web应用。...从项目名称可以看出,WebApi和MvcApp分别为ASP.NET Web APIMVC应用,后者是Web API调用者。...我们WebApi应用定义了如下一个继承自ApiControllerContactsController类型,它具有的唯一Action方法GetAllContacts返回一组联系人列表。...我们目的在于:当页面成功加载之后以Ajax请求形式调用上面定义Web API获取联系人列表,并将自呈现在页面上。...如果我们采用Fiddler来监测页面加载过程中发送请求和接收到响应,我们会发现针对Web API调用Ajax请求成功发送,并且以JSON格式表示联系人列表会被成功接收,请求和响应内容如下所示

    1.1K100

    使用ActionFilterAttribute 记录 WebApi Action 请求和返回结果记录

    asp.net mvc webapimvc 处理消息是两个不同管道,Asp.net mvcwebapi 为我们提供 ActionFilterAttribute 拦截器,通过 重写 ...OnActionExecutingAsync,来 拦截action请求消息,当执行OnActionExecutingAsync完成以后才真正进入请求actionaction运行完后又把控制权给了...由于asp.net MVCwebapi  是两个完全独立管道: MVC由System.Web.Mvc.ActionFilterAttribute 来做action请求拦截。...这样就可以注册你 ActionFilterAttribute   成为全局Filter,系统请求经过Action 之前或之后 都会被你ActionFilter 拦下来做处理然后转交下去。...好了道理已经讲完了,现在开始我自己要实现 日志记录功能, 需求是记录所有访问webapi action请求地址、内容、访问用户、提交参数、返回结果、以及一些客户端信息) 由于MVC 框架 提倡契约编程

    4.6K30

    ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步

    一、区域—麻雀虽小,五脏俱全迷你MVC项目 1.1 Area兴起   为了方便大规模网站管理大量文件,ASP.NET MVC 2.0版本引入了一个新概念—区域(Area)。 ?   ...其实很简单,只需要在要使用模板页View修改Layout属性即可: ? 2.2 View未动,ViewStart先行   Razor视图引擎,所有页面启动之前,ViewStart文件会先执行。...3.2 WCF and WebAPI   首先,ASP.NET Web API 和WCF有着千丝万缕联系。   ...各种因素纠结下,微软于是便把WCF里面的这部分团队抽离出来合并到了MVC,才有了现在ASP.NET Web API,并包含在MVC 4发布。...category=category   客户端可以通过URI来访问我们控制器已达到资源操作,那么,我们可以设计一个页面来发送AJAX请求来实践一下。

    2.3K20

    MVCWebapi区别

    从自身实现上区分 两种框架主要是Asp.Net基础上进行改造,主要是HttpModule和HttpHandler做了扩展,但是实现思路不一样。...WebApi可以部署IIS里,也可以寄宿不同宿主上(寄宿本质就是利用一个具体应用程序为Web Api提供一个运行环境,并解决请求接收和响应回复),如Web Host,Self Host方式...WebApi可以部署IIS里,也可以寄宿不同宿主上(寄宿本质就是利用一个具体应用程序为Web Api提供一个运行环境,并解决请求接收和响应回复),如Web Host,Self Host方式...从路由角度区分 Web API根据HTTP谓语动词来映射Action,但MVC只是映射Action名称。...从代码角度区分 mvc代码System.Web.Mvc,Controller继承System.Mvc.Controller webapi代码System.Web.Http程序集中,Controller

    3.2K20

    ASP.NET MVC5+EF6+EasyUI 后台管理系统-WebApi用法与调试

    1:ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-WebApi与Unity注入 使用Unity是为了使用我们后台BLL和DAL层 2:ASP.NET MVC5+EF6+EasyUI...后台管理系统(2)-WebApi与Unity注入-配置文件 3:ASP.NET MVC5+EF6+EasyUI 后台管理系统(3)-MVC WebApi 用户验证 (1) 4:ASP.NET MVC5...+EF6+EasyUI 后台管理系统(4)-MVC WebApi 用户验证 (2) 以往我们讲了WebApi基础验证,但是有新手经常来问我使用方式 这次我们来分析一下代码用法,以及调试方式...WebApi一些场景我们会用到,比如: 1.对接各种客户端(移动设备) 2.构建常见http微服务  3.开放数据  4.单点登陆  等......Api帮助文档 我们新建WebApi集成了微软自带HelpPage,即Api文档,我们编写好接口之后会自动生成一份文档 配置HelpPage,非常简单,分两步 设置项目属性输出XML文档 ?

    2.1K30

    C#实现JWT无状态验证实战应用

    前言 本文主要介绍JWT实战运用。 准备工作 首先我们创建一个Asp.Net,包含MVCWebApiWeb项目。 然后使用Nuget搜索JWT,安装JWT类库,如下图。 ?...,分别是MVC请求和异常过滤器和WebApi请求和异常过滤器。...然后我们重写了他OnActionExecuting方法,方法里,我们查询到当前请求Controller名称,然后其进行了一个简单判断,如果是login(登录)或loginout(登出),那我们就不对他...如果是其他请求,则会从请求HeadersAuthorization属性里读取token,并使用AuthenticationHelper类这个token进行正确性验证。...WebApi接口 现在我们编写WebApi接口,编写一个登录接口和一个普通请求接口。 登录接口:这里我们使用AuthenticationHelper类创建一个token,并把他存储到缓存

    1.1K10

    快速入门系列--WebAPI--04老版本MVC4下调整

    WebAPI是建立MVC和WCF基础上,原来微软老是喜欢封装很多,这次终于愿意将http编程模型相关细节暴露给我们了。...WebAPI v1.0(和ASP.NET MVC4在一起版本)很多类和接口并不存在,同时Task异步编程(ApiController默认提供异步执行方法)支持还有一些欠缺(缺少不少方便扩展方法...路由设置 Global.asax文件需要注意WebApi路由要先于MVC路由进行注册,不然会出现路由无效情况。...,并封装API操作方法调用之后运行,允许调度操作之前,完成执行之后拦截。...Tip: MVC4,推荐使用同步基类,以后版本推荐使用异步接口对应用程序进行扩展。

    1.1K60

    ASP.Net MVC开发基础学习笔记:四、校验、AJAX与过滤器

    二、ASP.Net MVC两种AJAX方式 2.1 使用JQuery AJAX方式   首先,ASP.Net MVC中使用此种方式跟普通WebForm开发方式是一致,需要注意是:Url地址不同...->请求是Controller下Action,例如在WebForm请求url通常是/Ajax/UserHandler.ashx,而在MVC请求url通常为:/User/GetAll。   ...至此,一个使用JQuery AjaxMVC页面就完成了。但是,这仅是一个最简单AJAX示例,实际开发往往比较复杂一点。   ...Action打的标签一致; 2.2 使用Microsoft AJAX方式   ASP.Net MVC除了可以使用JQuery AJAX外,Microsoft为我们提供了另一套实用且更简单AJAX方案...三、为AOP而生 — ASP.Net MVC默认过滤器 3.1 过滤器初步   大一点项目总会有相关AOP面向切面的组件,而MVC(特指:Asp.Net MVC,以下皆同)项目中Action执行前或者执行后我们想做一些特殊操作

    2.1K20

    小范笔记:ASP.NET Core API 基础知识与Axios前端提交数据

    跟同事合作前后端分离项目,自己 WebApi 很多知识不够全,虽说不必要学全栈,可是也要了解基础知识,才能合理设计接口、API,方便与前端交接。...晚上回到宿舍后, WebApi 知识查漏补缺,主要补充了 WebAPi 一些方法、特性等如何与前端契合,如何利用工具测试 API 、Axios 请求接口。...本文主要写 WebApi 前端请求数据到 API 、后端返回处理结果,不涉及登录、跨域请求、前端 UI 等。(难一点我不会了。。。看张队公众号,篇篇都看不懂。。。)...WebApi 应用 首先创建一个 Asp.Net Core MVC 应用,然后 Controllers 目录添加一个 API 控制器 DefaultController.cs。...res 是请求成功后返回信息,res.data 是请求成功后服务器返回信息。即是 action 处理数据后返回信息。

    5.6K00

    ASP.NET (Core)WebApi参数传递实操演练

    一、ASP.NET (Core)WebApi参数传递实操演练 1、什么是contentType和dataType?...Asp.NET Web APIController是如何解析从客户端传递过来数据,然后赋值给Controller参数,也就是参数绑定或者模型绑定。 常见绑定方式有如下四种。...3、ASP.NET WebAPIFromUri和FromBody两类特性区别 1)、【FromUri】特性 应用【FromUri】特性,Web API Action参数将从URL解析数据。...2)、【FromBody】特性 应用【Frombody】特性,Web API Action参数将从请求体(Request Body),并且通过媒体类型格式化器获取和绑定数据。...请求Body(Body):通过POST请求中将数据传入到Body此时将绑定如上述Person对象,对应WebAPI媒体类型格式化器 FormUrlEncodedMediaTypeFormatter

    3.7K20

    Asp.net mvc 知多少(二)

    该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大特点是以面试问答形式进行展开。通读此书,会帮助你ASP.NET MVC有更深层次理解。...Asp.net mvc ViewModel? Ans. ASP.NET MVC, ViewModel 是一个包含将在强类型视图中展示字段类。...Authentication Filter (认证过滤器)是ASP.NET MVC5引入,它先于authorization filter(授权过滤器)执行。它主要用来用户认证。...认证过滤器处理请求用户凭证并返回相应主体。ASP.NET MVC5之前,使用 authorization filter (授权过滤器)用户进行认证和授权。...可以Application_Start 事件中注册一个或多个Url格式到路由表

    2.1K91

    ASP.NET Web API: 宿主(Hosting)

    由于该 URL 不必映射到文件,因此可以使用用户操作进行描述因而更易于被用户理解 URL,路由ASP.NET Web API上一样有重要位置。...ASP.NET平台上,是通过RouteTable静态属性Routes添加路由到路由表里,例如下面的代码是ASP.NET MVC项目模板默认定义路由: protected void Application_Start...}     ); } 大部分路由逻辑是由UrlRoutingModule附加到ASP.NET 管道事件PostResolveRequestCache,每一个Http请求,这个模块路由集合匹配符合路由规则...Http处理程序 因此,ASP.NET 管道最后将请求发送这个处理器。...HttpServer获取请求之后,它就进入了宿主处理新阶段(Web API新管道)。下面的图总结了路由处理过程和分发到HttpServer实例(信息处理管道)。 ?

    1.4K60
    领券