首页
学习
活动
专区
工具
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支持W3C的CORS规范》中我们通过自定义的HttpMessageHandler为ASP.NET Web API赋予了跨域资源共享的能力,具体来讲,这个自定义的...从项目名称可以看出,WebApi和MvcApp分别为ASP.NET Web API和MVC应用,后者是Web API的调用者。...ASP.NET Web API对CORS提供的原生支持实现在一个名为“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-GET的Action方法,即定义在ContactsController中的Get方法...如右图所示,用户行为(比如某个用户点击了页面上的某个按钮)首先触发View的某个事件,与之绑定的定义在View Model中的EventHandler(View Model的某个方法成员)被自动执行。...delete:发送Ajax请求调用Web API以删除指定的联系人。联系人成功删除之后,load方法被调用以刷新当前联系人列表。

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

    接下来进入的是俺在ASP.NET学习中最重要的WebAPI部分,在现在流行的互联网场景下,WebAPI可以和HTML5、单页应用程序SPA等技术和理念很好的结合在一起。...由于很多内容比较相似,将进行简单的介绍,不过框架中异步编程模型用的很多,值得学习参考。下图简单的表述了框架对请求的处理过程: ?     ...HttpControllerDispatcher负责最后对请求做最后的处理,包括对ApiController的激活和目标Action的执行等操作,用下表简述该过程: 行为 简介 HttpController...HttpActionDescriptor的ExecuteAsync方法实现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 API和MVC应用,后者是Web API的调用者。...我们在WebApi应用中定义了如下一个继承自ApiController的ContactsController类型,它具有的唯一Action方法GetAllContacts返回一组联系人列表。...我们的目的在于:当页面成功加载之后以Ajax请求的形式调用上面定义的Web API获取联系人列表,并将自呈现在页面上。

    1.6K80

    通过扩展让ASP.NET Web API支持W3C的CORS规范

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

    .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

    59520

    同源策略与JSONP

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

    1.1K100

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

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

    4.9K30

    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

    MVC和Webapi的区别

    从自身实现上区分 两种框架主要是在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的,包含MVC和WebApi的Web项目。 然后使用Nuget搜索JWT,安装JWT类库,如下图。 ?...,分别是MVC的请求和异常过滤器和WebApi的请求和异常过滤器。...然后我们重写了他的OnActionExecuting方法,在方法里,我们查询到当前请求的Controller的名称,然后对其进行了一个简单的判断,如果是login(登录)或loginout(登出),那我们就不对他的...如果是其他请求,则会从请求的Headers的Authorization属性里读取token,并使用AuthenticationHelper类对这个token进行正确性的验证。...WebApi接口 现在我们编写WebApi接口,编写一个登录接口和一个普通请求接口。 登录接口:这里我们使用AuthenticationHelper类创建一个token,并把他存储到缓存中。

    1.2K10

    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 Ajax的MVC页面就完成了。但是,这仅是一个最简单的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

    快速入门系列--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 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 API中Controller是如何解析从客户端传递过来的数据,然后赋值给Controller的参数的,也就是参数绑定或者模型绑定。 常见的绑定方式有如下四种。...3、ASP.NET WebAPI中FromUri和FromBody两类特性区别 1)、【FromUri】特性 应用【FromUri】特性,Web API Action中参数将从URL中解析数据。...2)、【FromBody】特性 应用【Frombody】特性,Web API Action中参数将从请求体(Request Body),并且通过媒体类型格式化器获取和绑定数据。...请求Body(Body):通过在POST请求中将数据传入到Body中此时将绑定如上述Person对象中,对应WebAPI中媒体类型格式化器 FormUrlEncodedMediaTypeFormatter

    3.8K20

    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

    快速入门系列--WebAPI--01基础

    ASP.NET MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公用同一个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的轻量化),WebAPI使用了新的管道,因此两者相关类的命名空间有细微差异...消息处理管道 还记的ASP.NET MVC中的核心是HttpHandler,而在WebAPI中其管道处理器是HttpMessageHandler。...=,IIS解密后认证,action顺利执行。...步骤3:用户输入正确的用户名密码后提交表单,服务器在接受到请求之后提取它们对用户实施认证,认证成功后,它会生成一个安全令牌或者认证票据。...ASP.NET Web API 2框架揭秘[M]. 北京:电子工业出版社, 2014. (美)加洛韦. ASP.NET MVC 5高级编程(第5版)[M].

    2.3K70
    领券