本篇文章着重介绍在进行Ajax调用中经常使用的两个ActionResult,即JavaScriptResult和JsonResult。[本文已经同步到《How ASP.NET MVC Works?》...中] 目录 一、JavaScriptResult 二、实例演示:通过JavaScriptResult返回字段在客户端自动执行的JavaScript 三、JsonResult...返回类型为JavaScriptResult的Action方法一般用于处理Ajax请求。...在通过Visual Studio的ASP.NET MVC项目模板创建的空Web应用中定义一个ShoppingCart类表示购物车。...在一个以Ajax请求提交的表单(表单的Action属性对应着上面定义的Action方法ProcessOrder)中显示了购物车中的商品和数量,用于可以修改订购数量并通过点击“提交订单”按钮以Ajax请求的方式提交订单
运行 关于实验9 使用Form 标签的作用是什么? 在系列文章第一讲中,我们已经知道,Web编程模式不是事件驱动的编程模式,是请求响应模式。最终用户会产生发送请求。...在Action 方法中,Model Binder 将维护这些工作。会根据接收到的值更新参数值。 实现多重提交按钮有没有其他可用的方法? 事实上,有很多可实现的方法。以下会介绍三种方法。 1....Ajax 使用常规输入按钮来代替提交按钮,并且点击时使用jQuery或任何其他库来产生纯Ajax请求。 为什么在实现重置功能时,不使用 input type=reset ?...EmptyResult是什么? 是ActionResult的一个孩子节点,当浏览器接收到 EmptyResult,作为响应,它会显示空白屏幕,表示无结果。在本实验中不会发生EmptyResult。...当匹配成功时,响应接收的数据会被分配给参数。 匹配不成功时,参数会设置为缺省值,例如,如果是字符串类型则被设置为null,如果是整型则设置为0. 由于数据类型未匹配异常的抛出,不会进行值分配。
在ASP.NET MVC 中有三种方式从controller传值到view中:ViewData, ViewBag 和 TempData。...Controller中的action是定义在Controller类中的方法用来执行基于用户请求的操作,并在Model的帮助下将结果传递会View。...JavaScriptResult - 使用Controller中提供的JavaScript()方法返回一个JavaScriptResult用来呈现一段JavaScript代码,一般仅用于Ajax请求的场景...EmptyResult - 返回一个空的结果。 HttpNotFoundResult - 使用Controller中提供的HttpNotFound()方法返回一个HTTP 404状态。...如何判断一个AJAX请求? Ans. 通过使用Request.IsAjaxRequest()来判断。
一、前言 1、本教程主要内容 ASP.NET Core MVC控制器简介 ASP.NET Core MVC控制器操作简介 ASP.NET Core MVC控制器操作简介返回类型简介 ASP.NET Core...MVC控制器操作简介返回类型示例 ASP.NET Core MVC控制器参数映射逻辑说明 ASP.NET Core MVC控制器参数映射/获取示例 2、本教程环境信息 软件/环境 说明 操作系统 Windows...不过在定义Action方法的时候,返回值类型也可以定义成string、int等,这些自定义的返回类型会在返回到响应流之前被框架自动包装到合适的ActionResult子类型中。...RedirectToAction(),RedirectToRoute() 重定向到指定的Action或者路由 EmptyResult / 在Action返回null或者Action定义返回关键字是void...时会被包装为EmptyResult 四、ASP.NET Core MVC Action方法返回类型示例 1、准备工作 在Controllers文件夹中新建ActionResultTestController.cs
因此,我们既可以在Action中返回视图,还可以返回文件流、重定向、空内容等结果。...但是,在MVC的Action中,微软已经帮我们封装了好了JsonResult,因此,我们可以高兴地感慨:返回Json,So Easy!...2.4 ActionResult用法 这里只介绍几个最常用的Result用法: (1)EmptyResult:当用户有误操作或者是图片防盗链的时候,这个EmptyResult就可以派上用场,返回它可以让用户啥也看不到内容...(6)Json:通过Json可以轻松地将我们所需要返回的数据封装成为Json格式,进行Ajax开发可以变得so easy!...③{*values}表示后面可以使用任意的格式。 3.5 URL路由调试 在ASP.Net MVC中,默认是不允许对路由规则进行调试的。
一、Spring MVC 处理 AJAX 请求 Spring MVC 返回 JSON 格式数据 拷贝spring-mvc-crud项目,重命名为spring-mvc-ajax。...处理 AJAX 请求 在index.jsp同级目录下新增一个页面emps.jsp,使用ajax请求获取所有员工并显示在页面上 在post.jsp页面增加一个ajax的post请求 使用Ajax发送JSON格式的POST请求 发送 中获取请求头请求体以及响应头响应体信息。...Spring MVC进行上传文件非常方便,调用transferTo方法即可完成上传文件的操作 在upload.jsp文件中显示文件上传是否成功的提示 文件上传表单 ${msg} <div
在ASP.NET MVC中的四大筛选器(Filter),ActionFilter直接应用在某个Action方法上,它在目标Action方法执行前后对调用进行拦截以执行一些额外的操作。...中的异常处理 一、ActionFilter ActionFilter允许我们在目标Action方法执行前后对调用进行拦截以执行一些额外的操作,所有的ActionFilter实现了具有如下定义的接口IActionFilter...ActionFilter可以在OnActionExecuting方法中对ActionExecutingContext对象的Result属性进行赋值来直接响应当前的请求。...当整个ActionFilter链执行结束之后,ActionExecutedContext的Result属性返回的ActionResult将会作为对当前请求的响应。...在通过Visual Studio的ASP.NET MVC项目模板创建的空Web应用中我们定义了如下三个ActionFilter(FooAttribute、BarAttribute和BazAttribute
类型 简介 EmptyResult 最简单的Result,只是为了符合框架的流程。...类似httpResponse的Redirect/RedirectPermanent,在SEO中,前者会使永久重定向目的地址更新为搜索引擎的索引,后则不会。 ...简单请款下推荐使用Dynamic的ViewBag,复杂推荐强类型的ViewModel,在使用强类型时,为了方便,推荐将其加入配置文件中,如下所示。...不然,在前端如果使用js处理后台数据时,为了防止跨站脚本攻击,还需要使用'@Ajax.JavaScriptStringEncode()'防止XSS攻击。...布局,使用在Layout页面中使用@RenderBody可以为主体占位,也可以用的@RenderSection("Footer")为Footer占位,这时需要在页面中通过@section Footer{
开发中,AJAX(Asynchronous JavaScript and XML)被广泛用于创建响应式和动态的用户界面。...与传统的页面刷新不同,AJAX 允许网页在不重新加载的情况下与服务器交换数据,从而提升了用户体验。尤其是在表单提交和文件上传方面,AJAX 技术能够提供更快速、更流畅的操作体验。...前端部分:AJAX 请求的构建 2.1 使用 FormData 发送表单数据 在现代浏览器中,FormData 对象提供了一种简便的方式来构建表单数据,并通过 AJAX 异步提交。...$.ajax:发起 AJAX 请求,提交数据到服务器,并处理返回的响应。 通过这种方式,前端将文件和附加的表单数据以异步的方式发送给服务器。 3....后端部分:Spring MVC 处理 AJAX 请求 在 Spring MVC 中,我们可以通过 @RequestParam 注解来获取请求中的参数,并使用 MultipartFile 类型来接收文件。
解决的办法就是,将这个大类拆为几个小类,每个类表达一个职责,譬如教育背景相关操作归为一个小类,社会兼职相关操作也归为一个小类,其他依次类推。...派生类的前置条件和后置条件规则为:在重新声明派生类中的例程时,只能使用相等或者更弱的前置条件来替换原始的前置条件,只能使用相等或者更强的后置条件来替换原始的后置条件。...例如使用ASP.NET MVC创建企业级应用的过程中,定义了如下的控制器: public class ExcludedDataController : BaseController {...(); } } 其中三个方法中都调用了Request.IsAjaxRequest()方法,明显违反了DRY原则,解决的办法是可以在控制器上添加拦截器。...但是或许此控制器的操作中还有不被Ajax调用的操作,那么可以将这些操作移除,放入一个新的控制器中。
”V.S.“301重定向” 一、HttpStatusCodeResult 每一个HTTP响应均具有一个表示响应状态的代码和一个可选的状态描述,正常情况下返回“200 OK”。...System.Web.Mvc.HttpStatusCodeResult使我们很容易地返回一个指定状态的HTTP响应。...在构造函数中既可以将状态码设置成一个整数,也可以以HttpStatusCode枚举形式来指定状态码。...,第7章“Action的执行”中筛选器AuthorizeAttribute在授权检验失败的情况下返回的就是一个HttpUnauthorizedResult对象。... 了解ASP.NET MVC几种ActionResult的本质:EmptyResult & ContentResult 了解ASP.NET MVC几种
在 Java 中,转换 JSON 的依赖或者 JAR 有很多,这里单讲两种常用: Jackson:在 Spring MVC 中内置支持她,速度也挺快,稳定性比较好。...响应 JSON 步骤 在 pom.xml 中添加 Jackson 依赖。...在要响应 JSON 数据的控制器的处理方法上贴 @ResponseBody 注解,且方法返回类型为上面定 义的类。 在处理方法中创建上面定义类 的对象,封装数据返回即可。...JsonController 类追加一个处理方法,使用 Spring MVC 响应 JSON 字符串。...JsonController 类追加一个处理方法,使用 Spring MVC 响应 JSON 字符串。
中,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的话,就会出现回调地狱。...6.拦截请求和响应 7.转换请求和响应数据 8.取消请求 9.自动转换JSON数据 PS:防止CSRF:就是让你的每个请求都带一个从cookie中拿到的key, 根据浏览器同源策略,假冒的网站是拿不到你...cookie中得key的,这样,后台就可以轻松辨别出这个请求是否是用户在假冒网站上的误导输入,从而采取正确的策略。...的替代品,是在ES6出现的,使用了ES6中的promise对象。...例如: 1)fetch只对网络请求报错,对400,500都当做成功的请求,服务器返回 400,500 错误码时并不会 reject,只有网络错误这些导致请求不能完成时,fetch 才会被 reject。
在服务端添加响应头Access-Control-Allow-Origin 既然我们已经知道了Ajax跨域失败是因为响应中缺少了响应头Access-Control-Allow-Origin, 那么就想办法加上去...请求可以看到成功返回数据, 响应头中包含了Access-Control-Allow-Origin, 值为发起Ajax请求的源....使用JSONP解决 上面直接通过过滤器添加响应头的方法可以说是对症下药, 那么还有没有什么偏方呢? 还真的有....然后在 标签中编写标签, 我们将通过标签请求订单系统, 订单系统将会返回一段js代码, 这段js代码会调用doCallBack()方法....为了能够拼接出doCallBack(字符串参数…)js代码, 我们在订单系统中作如下操作.
现代浏览器默认都会基于安全原因而阻止跨域的ajax请求,这是现代浏览器中必备的功能,但是往往给开发带来不便。特别是对我这样后台开发人员来讲,这个事情简直神奇。...它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 为什么说它优雅呢? 整个CORS通信过程,都是浏览器自动完成,不需要用户参与。...思路很简单,当前端要请求跨域资源时候,我们给它加上响应的响应头即可。很显然我们自己定义一个过滤器是最简单不过了。...SPRING 4中更优雅的办法 SpringMVC4提供了非常方便的实现跨域的方法。在requestMapping中使用注解。...跟踪springmvc源码到FrameworkServlet中的doOption方法,发现,接受了option预检,但是spring主动返回allow,没有支持跨域的配置。
一个数组以左中括号 [ 开始, 右中括 号 ] 结束,值之间使用逗号 , 分隔。 可以使用在线JSON格式化工具来进行校验和书写: JSON校验工具 . Ⅵ JSON优点 1....上图过程中的令牌通常就存储在Cookie 子段当中. 此时在服务器这边就需要记录"令牌"信息, 以及令牌对应的用户信息, 这个就是 session 机制所做的工作....关于SpringMVC 响应传递信息 2.1 返回静态页面 创建前端页面 index.html(注意是在resources/static 目录下)。 前端页面代码如下: MVC如何才能识别出来 index.html 是一个静态页面, 并进行返回呢?...: 通过 Fiddler 观察响应结果, Content-Type 为 application/json. 2.5 设置状态码 Spring MVC会根据我们方法的返回结果自动设置响应状态码
基于 promise 的异步 ajax 请求库,支持promise所有的API 2. 浏览器端/node 端都可以使用,浏览器中创建XMLHttpRequests 3. 支持请求/响应拦截器 4....axios在浏览器端使用XMLHttpRequest对象发送ajax请求;在node环境使用http对象发送ajax请求。...异步请求使浏览器不用等待服务器处理请求,不用重新加载整个页面来展示服务器响应的数据,在异步请求发送的过程中浏览器还能进行其它的操作。...== 4) { return } // 如果响应状态码在[200, 300)之间代表成功, 否则失败 const {status,...XMLHttpRequest对象的responseXMl属性 XMLHttpRequest对象在IE和Firefox中创建方式有没有不同 有,IE6以下中通过new ActiveXObject()得到,
Asp.net mvc 中的ViewModel? Ans. 在 ASP.NET MVC中, ViewModel 是一个包含将在强类型视图中展示的字段的类。...认证过滤器处理请求中的用户凭证并返回相应的主体。在ASP.NET MVC5之前,使用 authorization filter (授权过滤器)对用户进行认证和授权。...Action Result是BLL或者DAL对用户输入执行相应的操作后的返回结果。...当路由引擎在路由表中找到一个与传入的Url请求匹配的路由记录,路由引擎会转发请求到对应的Controller、Action中。如果没有匹配的记录,则返回404。 大致处理流程如下图: ? Q16....当仅仅定义了特性路由而没有基于约定的路由时,若某个action未定义特性路由时,该action将不能被成功路由,会返回404。 Q18. 什么时候使用特性路由? Ans.