MVC—实现ajax+mvc异步获取数据
之前写过ajax和一般处理程序的结合实现前后台的数据交换的博客,如今做系统用到了MVC,同一时候也用到了异步获取数据。
ajax+一般处理程序与MVC+ajax原理是一样的在"URL"中前者写的一般处理程序的名字。而后者写到Controller中须要调用的方法。
Controller中的设计
using System.Collections.Generic;
using System.Web.Mvc; namespace mvcAjaxByAjax.Controllers
{
//考试试题
public class ExamEntity
{
public int Id { get; set; }
public string ExamName { get; set; }
}
public class mvcAjaxByAjaxController : Controller
{
[HandleError]
public ActionResult Index()
{
return View();
} /// <summary>
/// 获取考试数据
/// </summary>
/// <returns></returns>
[HttpPost]
public ActionResult GetExam()
{
//加入employee数据
List<ExamEntity> examList = new List<ExamEntity>()
{
new ExamEntity {Id = 1, ExamName = "语文考试"},
new ExamEntity {Id = 2, ExamName = "数学考试"}
}; //直接返回此类型JSON类型
return Json(examList);
}
}
}
View中的设计
@{
ViewBag.Title = "Index";
}
<script src="~/Scripts/jquery-2.1.3.min.js"></script>
<h2>ajax获取数据</h2>
<script type="text/javascript" language="javascript">
$(function () {
//注冊单击事件
$("#btTest").click(function() {
$.ajax({
type: "POST",
contentType: "application/json",
url: "GetExam",
data: "{}",
dataType: 'json',
success: function (result) {
//将返回数据加入到页面表格中
$("#tdId1").html(result[0].Id);
$("#tdName1").html(result[0].ExamName);
$("#tdId2").html(result[1].Id);
$("#tdName2").html(result[1].ExamName);
}
});
});
});
</script>
<table>
<tr>
<th>考试ID</th>
<th>考试名称</th>
</tr>
<tr>
<td id="tdId1"></td>
<td id="tdId2"></td>
</tr>
<tr>
<td id="tdName1"></td>
<td id="tdName2"></td>
</tr>
<tr>
<td><input type="button" value="查询" id="btTest" /></td>
</tr>
</table>
通过firebug 查看返回的数据
页面显示效果
总结
利用mvc+ajax简单的实现异步数据的查询,直接调用后台的Controllers方法。后台方法直接返回数据给前台控件。
MVC—实现ajax+mvc异步获取数据的更多相关文章
- MVC的Ajax的异步请求
MVC的Ajax的异步请求 在这里小写一下MVC的异步请求的一点小总结. 个人认为是有两种的,一种就是跟webform一样的,依旧是使用jQuery的$.get()方法,只是请求地址不同,webfor ...
- spring mvc接收ajax提交的JSON数据,并反序列化为对象
需求:spring mvc接收ajax提交的JSON数据,并反序列化为对象,代码如下: 前台JS代码: //属性要与带转化的对象属性对应 var param={name:'语文',price:16}; ...
- ajax异步获取数据后动态向表格中添加数据(行)
因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 <!doctype html> ...
- datatables异步获取数据、简单实用
IKC项目总结 一.认证难题管理模块 1. 如何使用datatables进行获取数据内容 datatables简介:Datatables是一款jquery表格插件.它是一个高度灵活的工具,可以将任何H ...
- Vue Router路由守卫妙用:异步获取数据成功后再进行路由跳转并传递数据,失败则不进行跳转
问题引入 试想这样一个业务场景: 在用户输入数据,点击提交按钮后,这时发起了ajax请求,如果请求成功, 则跳转到详情页面并展示详情数据,失败则不跳转到详情页面,只是在当前页面给出错误消息. 难点所在 ...
- nettyclient异步获取数据
源代码见,以下主要是做个重要代码记录 http://download.csdn.net/detail/json20080301/8180351 NETTYclient获取数据採用的方式是异步获取数据, ...
- 用redux-thunk异步获取数据
概述 最近学习redux,打算用redux-thunk给todo添加异步获取数据组件.记录下来,供以后开发时参考,相信对其他人也有用. 注意: 在todo下方,我异步获取我的react博客的标题,点击 ...
- IOS开发---菜鸟学习之路--(十二)-利用ASIHTTPRequest进行异步获取数据
想要实现异步获取的话我这边了解过来有两个非常简单的方式 一个是利用ASIHTTPRequest来实现异步获取数据 另一个则是利用MBProgressHUD来实现异步获取数据 本章就先来讲解如何利用AS ...
- React 中的 AJAX 请求:获取数据的方法
React 中的 AJAX 请求:获取数据的方法 React 只是使用 props 和 state 两处的数据进行组件渲染. 因此,想要使用来自服务端的数据,必须将数据放入组件的 props 或 st ...
随机推荐
- hibernate 不与数据库对应的注解
@Transient 此注解必须写到get方法上
- python web开发 框架 模板 MVC
我是跟着廖雪峰老师学习的,对于我这样的纯小白来说,跟着他的网站学习,简直是被妈妈抱在怀里一样无忧无虑,这样的学习本来没有记录下来的必要,但是由于我的粗心大意,经常会出现一些错误,所以我决定把这些错误记 ...
- 题解 P3243 【[HNOI2015]菜肴制作】
这道题看起来就是个裸的拓扑排序,抄上模板就能AC. 上面这种想法一看就不现实,然鹅我第一次还真就这么写了,然后被随意hack. 我们需要注意一句话: 现在,酒店希望能求出一个最优的菜肴的制作顺序,使得 ...
- Spring Cloud学习笔记【六】Hystrix 监控数据聚合 Turbine
上一篇我们介绍了使用 Hystrix Dashboard 来展示 Hystrix 用于熔断的各项度量指标.通过 Hystrix Dashboard,我们可以方便的查看服务实例的综合情况,比如:服务调用 ...
- 习题(3-3) 计算(a+b)*c的值
题目 - 习题(3-3) 计算(a+b)*c的值 来源 计算概论B 2010 描写叙述 计算表达式(a+b)*c的值,当中a, b, c均为整数,且a,b,c的值介于-10000和10000之间( ...
- Qt creator 编译错误 :cannot find file .pro qt
事实上问题的解决的方法非常easy:就是Qt不支持中文的路径,把源代码的路径所有改成英文就可以解决这个问题. 首先问题发生在我执行网上的样例程序时,又一次构建编译也是出错.提示: Cannot fin ...
- ISheet ICell
/// <summary> /// Gets the first row on the sheet /// </summary> /// <value>the nu ...
- poj--1237--Drainage Ditches(最大流)
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %I64d & %I64u Sub ...
- Gym - 100625D Destination Unknown 最短路
http://codeforces.com/gym/100625/attachments/download/3213/2013-benelux-algorithm-programming-contes ...
- Red Hat Linux 安装 (本地、网络安装)
Red Hat Linux 安装 (本地.网络安装) 650) this.width=650;" onclick='window.open("http://blog.51cto.c ...