ASP.NET MVC3入门教程之ajax交互
本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=100&extra=page%3D1
随着web技术的不断发展与进步,在web2.0时代,ajax技术作为新宠,越来越受到网页设计人员、网页开发人员的重视。使用ajax技术,可以构建动态、响应灵敏的web应用程序,这方法的关键在于浏览器的javascript、DHTML和服务器进行异步通信,它直接从浏览器与后端服务器进行通信,掐当地使用它,可以是网页更加自然,提高网页的灵敏度,提升用户体验。
ajax技术,它使浏览器为用户提供自然的浏览体验,在ajax之前,web应用程序强制用户进行提交、等待等操作。ajax提供与服务器异步通信的能力,从而使用户从浏览器的请求-响应中得到解脱。使用ajax可以在用户单击按钮是,使用javascript和DHTML立即更新网页UI,而不需要强制刷新网页,并且在更新网页的同时,向服务器发出异步请求,执行相关增删改查操作。用户甚至都觉察不到浏览器与Web服务器之间的通信。Ajax的核心工作原理是使用javascript的XmlHttpRequest对象,在此,我们就不详细解释ajax的原理了。下面讲解ASP.NET MVC3与js完成ajax通信。还是在前面的基础上进行。今天我们把上一节的登录操作使用ajax完成。
1、在LoginPage.cshtml中增加代码,代码如下
@{
ViewBag.Title = "LoginPage";
}
<h2>用户登录</h2>
<h3>Post方法举例</h3>
<form action="/Home/LoginForPost" method="post">
<input type="text" name="name" />
<input type="password" name="password" />
<input type="submit" value="登录" />
</form>
<h3>Get方法举例</h3>
<form action="/Home/LoginForGet" method="get">
<input type="text" name="name" />
<input type="password" name="password" />
<input type="submit" value="登录" />
</form>
<!--ajax登录-->
<h3>ajax登录举例</h3>
<div>
<input type="text" name="name" id="name" />
<input type="password" name="password" id="password" />
<input type="button" value="登录" id="loginbtn" />
</div>
<script type="text/javascript">
$(function () {
$("#loginbtn").click(function () {
Login();
});
});
function Login() {
var name = $.trim($("#name").val());
var password = $.trim($("#password").val());
$.ajax({
url: "/Home/LoginForAjax",
data: 'name=' + escape(name) + '&password=' + escape(password),
type: "POST",
dataType: "text",
success: function (text) {
if (text == "true") {
alert('登录成功');
} else {
alert('登录失败');
}
}
});
}
</script>
上述代码的javascript部分是使用jquery获取输入的name和password,然后通过ajax方法与Home控制器下的LoginForAjax进行通信。
2、在Home控制器中添加接受Ajax响应的方法LoginForAjax
public string LoginForAjax(string name, string password)
{
if (name == "" && password == "")
{
return "true";
}
else
{
return "false";
}
}
我们假设name为123,password为123时表示验证成功,验证成功返回true,验证失败返回false
3、运行,输入网址http://localhost:6187/Home/LoginPage name为123,password为123,点击登录即可。如图所示,登录成功
ajax与后台方法的交互大致如此。
下一节讲解ASP.NET MVC3使用ADO.NET连接数据库。
ASP.NET MVC3入门教程之ajax交互的更多相关文章
- HealthKit开发快速入门教程之HealthKit数据的操作
HealthKit开发快速入门教程之HealthKit数据的操作 数据的表示 在HealthKit中,数据是最核心的元素.通过分析数据,人们可以看到相关的健康信息.例如,通过统计步数数据,人们可以知道 ...
- HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID
HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID HealthKit开发准备工作 在开发一款HealthKit应用程序时,首先需要讲解HealthKit中有哪些类,在i ...
- HealthKit开发快速入门教程之HealthKit开发概述简介
HealthKit开发快速入门教程之HealthKit开发概述简介 2014年6月2日召开的年度开发者大会上,苹果发布了一款新的移动应用平台,可以收集和分析用户的健康数据.该移动应用平台被命名为“He ...
- nodejs入门教程之http的get和request简介及应用
nodejs入门教程之http的get和request简介及应用 前言 上一篇文章,我介绍了nodejs的几个常用的模块及简单的案例,今天我们再来重点看一下nodejs的http模块,关于http模块 ...
- github 入门教程之 github 访问速度太慢怎么办
github 是全世界最流行的开源项目托管平台,其代表的开源文化从根本上改变了软件开发的方式. 基本上所有的需求都能从 github 上或多或少找到现成的实现方案,再也不用重头开始造轮子而是自定义轮子 ...
- C++入门教程之二:变量
C++入门教程之二:变量 变量,顾名思义,意思是变化的量.变量的定义是计算机语言中能储存计算结果或能表示值的抽象概念.一个基本的程序需要变量,因此变量是程序设计中的一大重点. 变量基本结构 var_t ...
- 14、ASP.NET MVC入门到精通——Ajax
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Unobtrusive Ajax使用方式(非入侵式) 非入侵式,通俗来讲:就是将嵌入在Html中的JavaScript全部取出来,放在单独的 ...
- ASP.NET MVC3入门教程之参数(数据)传递
本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=98&extra=page%3D1 MVC模式的参数(数据)传递 ...
- ASP.NET MVC3入门教程之环境搭建
本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=90&extra=page%3D1 什么是ASP.NET MVC ...
随机推荐
- 京东MySQL监控之Zabbix优化、自动化
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wangwei007.blog.51cto.com/68019/1833332 随 ...
- 点击jqGrid表格,弹出需要的表格的数据
首先,我们先定义一个函数,然后在JQuery里面直接引用就可以了, function GetJqGridRowValue(jgrid, code) { var KeyValue = "&qu ...
- spring之依赖注入
- Android 实现ListView不可滚动效果
希望得到的效果是ListView不能滚动,但是最大的问题在与ListView Item还必有点击事件,如果不需要点击事件那就简单了,直接设置ListView.setEnable(false); 如果还 ...
- Type mismatch: cannot convert from MainFragment to Fragment 报错
源码: FragmentTransaction mFragmentTranscation = getSupportFragmentManager().beginTransaction(); Fragm ...
- [转]NopCommerce 多数据库方案
本文转自:http://www.cnblogs.com/YUTOUYUWEI/p/5538200.html 有时候一个项目需要连接多个数据库,以实现不同数据库的数据在同个项目的共享. 如果已经安装了n ...
- Unity自动构建
Jenkins/Hudson Jenkins的前身是Hudson(Sun开发),2010年从Hudson分支出来.由于Sun被Oracle收购,Oracle声称拥有Hudson的商标所有权,Hudso ...
- Collider Collision 区别
Collision 中带有碰撞的信息,例如:速度和撞击到的点 示例 void OnCollisionEnter2D(Collision2D coll) { foreach(ContactPoint c ...
- Java中的链表数据结构
首先,我们来定义一个链表的数据结构,如下: 1 public class Link { 2 private int value; 3 private Link next; 4 public void ...
- [多图]Windows 10 Build 10565今推送:优化界面菜单 Cortana改进
酷站网软:此前的Windows Build 10558并没有向公众发布,而是直到近日才向Fast Ring用户推送了更多功能和改进的Build 10565版.除之前版本上的加入了Messaging.E ...