本文转载自: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交互的更多相关文章

  1. HealthKit开发快速入门教程之HealthKit数据的操作

    HealthKit开发快速入门教程之HealthKit数据的操作 数据的表示 在HealthKit中,数据是最核心的元素.通过分析数据,人们可以看到相关的健康信息.例如,通过统计步数数据,人们可以知道 ...

  2. HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID

    HealthKit开发快速入门教程之HealthKit框架体系创建健康AppID HealthKit开发准备工作 在开发一款HealthKit应用程序时,首先需要讲解HealthKit中有哪些类,在i ...

  3. HealthKit开发快速入门教程之HealthKit开发概述简介

    HealthKit开发快速入门教程之HealthKit开发概述简介 2014年6月2日召开的年度开发者大会上,苹果发布了一款新的移动应用平台,可以收集和分析用户的健康数据.该移动应用平台被命名为“He ...

  4. nodejs入门教程之http的get和request简介及应用

    nodejs入门教程之http的get和request简介及应用 前言 上一篇文章,我介绍了nodejs的几个常用的模块及简单的案例,今天我们再来重点看一下nodejs的http模块,关于http模块 ...

  5. github 入门教程之 github 访问速度太慢怎么办

    github 是全世界最流行的开源项目托管平台,其代表的开源文化从根本上改变了软件开发的方式. 基本上所有的需求都能从 github 上或多或少找到现成的实现方案,再也不用重头开始造轮子而是自定义轮子 ...

  6. C++入门教程之二:变量

    C++入门教程之二:变量 变量,顾名思义,意思是变化的量.变量的定义是计算机语言中能储存计算结果或能表示值的抽象概念.一个基本的程序需要变量,因此变量是程序设计中的一大重点. 变量基本结构 var_t ...

  7. 14、ASP.NET MVC入门到精通——Ajax

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Unobtrusive Ajax使用方式(非入侵式) 非入侵式,通俗来讲:就是将嵌入在Html中的JavaScript全部取出来,放在单独的 ...

  8. ASP.NET MVC3入门教程之参数(数据)传递

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=98&extra=page%3D1 MVC模式的参数(数据)传递 ...

  9. ASP.NET MVC3入门教程之环境搭建

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=90&extra=page%3D1 什么是ASP.NET MVC ...

随机推荐

  1. read

    从标准输入读入一行内容并以空格为分隔符赋值给变量,如果输入的内容过多,则把剩下的所有内容都赋值给最后一个变量 $read A B C 123 456 789 101 $echo "$A&qu ...

  2. Linux多进程编程

    进程的状态 Linux进程有7种基础状态(两种running算一种),除了traced都可以用$ps命令查看,$ps可以查看的进程状态如下,更多进程状态信息参见Linux Process VS Thr ...

  3. google-analytics.com

    最近有朋友问,为什么我的网站打开时在执行google analytics有较长的停顿时间.要如果解决?这个问题其实很早就有,最好的解决办法是将网站所有页面的传统追踪代码统一替换为最新的异步追踪代码.不 ...

  4. 关于SUID、SGID、Sticky

    SUID属性 passwd命令可以用于更改用户的密码,一般用户可以使用这个命令修改自己的密码.但是保存用户密码的/etc/shadow文件的权限是400,也就是说只有文件的所有者root用户可以写入, ...

  5. ssh 无密码登录 非相同用户

    场景,机器A 用户a,想登录机器B ,机器B上没有用户a,有用户b. 已知机器B的用户密码,可以这么做. 实验:两台机器都是linux centos的系统. 在机器A上生成a用户的密钥. ssh-ke ...

  6. 应用程序Cache对象到高性能Memcached学习之路

    来源:微信公众号CodeL 以下是个人学习之路的简单分享,不足之处欢迎大神们批评指正! 在网站开发的初期,我们没有考虑更多的东西,也没有对缓存进行系统的设计,而是直接使用了应用程序缓存对象Cache, ...

  7. 模版(template)

    模版(template) 在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢? 相信学习C++的人对class这个关键字 ...

  8. 全息眼镜HoloLens可快速捕捉真人3D图像

    http://www.d9soft.com/zixun/62287.html 北京时间3月28日午间消息,微软研发部门开发出一种新的3D视频捕捉系统“Holoportation”,可以实现将某人3D图 ...

  9. No.1 S2错题

    正确答案:C,因为ABD是值类型,所以选择C 正确答案:A,因为test属于标记内容 正确答案:ABD,本题考查对异常处理的理解.通常,Java的非检查异常(编译器不要求强制处置的异常):包括运行时异 ...

  10. u3d_shader_surface_shader_1

    http://docs.unity3d.com/Manual/SL-SurfaceShaders.html 一:surface shader是啥 Writing shaders that intera ...