本文转载自: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. zookeeper barrier和queue应用实例

    package org.windwant.zookeeper; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper. ...

  2. Linux命令中使用正则表达式

    在使用grep.awk和sed命令时,需要使用正则表达式.比如我通过grep找代码编译结果中是否有错误.或者是否有我代码的错误.这里说下正则表达式基本的应用: • 匹配行首与行尾.• 匹配数据集.• ...

  3. 跨应用程序域(AppDomain)的单例(Singleton)实现

    转载自: 跨应用程序域(AppDomain)的单例(Singleton)实现 - CorePlex代码库 - CorePlex官方网站,Visual Studio插件,代码大全,代码仓库,代码整理,分 ...

  4. Linux autojump命令

    一.简介 autojump是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不用管你现在身在何处. 二.安装 yum install autojump 三.用法 j [目录的名字或名字的一部分] ...

  5. MMORPG大型游戏设计与开发(客户端架构 part7 of vegine)

    我在讲述某个东西的时候总喜欢从简单的入手,然后从互相关联的地方联合讲解,因为时间关系所以没能讲的十分详细,这点引以为憾,希望得到大家的谅解.这一节讲述的是微引擎(vengine)比较简单的一个模块,那 ...

  6. continue break return的区别

    1.continue 语句的作用       终止本次循环的执行,即跳过当前一次循环中continue语句后尚未执行的语句,然后进行下一次循环条件的判断. 2.break 语句的作用     (1)当 ...

  7. [cocos2d-x]深入--几个代表性的类

    摘要: 此文对cocos2d-x引擎中最具代表性,最能体现框架结构的几个类做了简单的介绍, 包括Director,Application, Renderer, EventDispatcher, Sch ...

  8. UDP模式聊天

    //client (前台) import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAd ...

  9. AC日记——计算2的N次方 openjudge 1.6 12

    12:计算2的N次方 总时间限制:  1000ms 内存限制:  65536kB 描述 任意给定一个正整数N(N<=100),计算2的n次方的值. 输入 输入一个正整数N. 输出 输出2的N次方 ...

  10. Red5 第一个例子之HelloWorld

    http://yerik.blog.51cto.com/1662422/1343993