jQuery Ajax无刷新操作

简介: 下面是“无刷新登录”的例子,采用Ashx+jQuery Ajax实现。 //后台实例代码 ashx文件(可替换为从数据库中读取) public void Pr...

下面是“无刷新登录”的例子,采用Ashx+jQuery Ajax实现。

        //后台实例代码 ashx文件(可替换为从数据库中读取)
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            //context.Response.Write("Hello World");
 
            string name = context.Request.Params["name"].ToString().Trim();
            if ("china".Equals(name))
            {
                context.Response.Write("1");//1标志login success
            }
            else
            {
                context.Response.Write("0");//0标志login fail
            }
        }
//前台实例代码 aspx文件
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
 
    <script src="js/jquery-1.4.2.js" type="text/javascript"></script>
 
    <script type="text/javascript">
        $(function() {
            $("#test").live("click", function() {
                //alert(0);
                $.ajax({
                    type: 'POST',
                    url: 'Handler1.ashx',
                    data: { "name": $("#name").val() },
                    success: function(data) {
                        if (1 == data)
                            alert('login success');
                        else
                            alert('login fail');
                    }
                });
            });
        });
    </script>
 
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input type="text" name="name" id="name" />
        <input type="button" name="test" id="test" value="validate" />
    </div>
    </form>
</body>
</html>

分别在前台aspx页面和后台ashx页面中输入如上代码,就实现了一个超级简单的Ajax登录,很简单吧?

——————————————————————————————————————————————————————————————————————

下面提供一个"点赞"的实例代码,用ASP.NET MVC4+jQuery Ajax实现。

Model:

namespace MvcAjaxAdd.Models
{
    public class ClickCountModel
    {
        [Key]
        [DatabaseGeneratedAttribute(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)]
        public int ID { get; set; }

        public string URL { get; set; }

        public int? Num { get; set; }
    }
}

View:

@{
    ViewBag.Title = "Index";
}
@model MvcAjaxAdd.Models.ClickCountModel
<script src="~/Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function () {
        var obj = {
            "num": $("#lblnum").text(),
            "url": window.location.pathname//获取/Home/Index
        };
        $("#addnum").click(function () {
            $.ajax({
                type: 'POST',
                url: '/Home/ClickGood',
                data: obj,
                success: function (data) {
                    $("#lblnum").text(data.Num);
                    //其它操作,比如每个登录用户只能点一次,按钮禁用等
                }
            });
        });
    });
</script>
<div id="addnum" style="width: 70px; height: 70px; background-color: #FF9900">
    <div align="center" style="margin-top: 10px;">
        <label style="color: White; font-size: 20pt;">
            顶</label></div>
    <div align="center">
        <label id="lblnum" style="color: White; font-size: 10pt;">
            @Model.Num</label></div>
</div>

Controller:

namespace MvcAjaxAdd.Controllers
{
    public class HomeController : Controller
    {
        private ClickCountContext db = new ClickCountContext();

        public ActionResult Index()
        {
            ClickCountModel ClickCountModel = db.ClickCountModels.FirstOrDefault(x => x.URL == "/");
            return View(ClickCountModel);
        }

        [HttpPost]
        public JsonResult ClickGood(ClickCountModel ClickCountModel)
        {
            ClickCountModel newClickCountModel = db.ClickCountModels.FirstOrDefault(x => x.URL == ClickCountModel.URL);
            newClickCountModel.Num++;//数量+1
            db.SaveChanges();
            return Json(newClickCountModel);
        }
    }
}

效果图:


目录
相关文章
|
24天前
|
XML 前端开发 JavaScript
jQuery中ajax如何使用
jQuery中ajax如何使用
23 0
N..
|
1月前
|
XML JSON 前端开发
jQuery实现Ajax
jQuery实现Ajax
N..
18 1
|
4月前
|
JavaScript 前端开发
关于jquery ajax上传的坑
processData 默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
21 0
|
XML 开发框架 缓存
jQuery ajax - ajax()方法
jQuery ajax - ajax()方法
145 0
jQuery ajax - ajax()方法
|
JSON JavaScript 前端开发
Jquery 中Ajax使用的四种情况
         $(document).ready(function(){   //Jquery 页面加载事件,当页面加载之后首先执行这个方法                  //第一种Ajax请求         $.
835 0
|
JavaScript 前端开发 容器
jQuery学习(2)ajax()使用
  在上一篇分享JavaScript之使用AJAX(适合初学者)中,我们学习了如何在JavaScript中使用AJAX.由于jQuery出色的性能和简洁的写法,且它也支持AJAX的使用,所以,本次分享将会展示如何在jQuery中使用ajax()函数。
1156 0
|
JavaScript 前端开发 监控
原生JS的Ajax
转自:https://www.cnblogs.com/yufann/p/JS-Ajax.html 1.创建一个Ajax对象       非IE6浏览器:var obj = new XMLHttpReuqest();       IE6浏览器:var obj = new ActiveXbject("Microsoft.
729 0
|
JSON 前端开发 JavaScript
第111天:Ajax之jQuery实现方法
由于jQuery中的Ajax方法是用了内置的deferred模块,是Promise模式的一种实现,而我们这里没有讲过,所以我们就不使用这一模式啦。 我们只定义一个Ajax方法,他可以简单的get,post,jsonp请求就可以了。
1183 0
|
Web App开发 JavaScript 前端开发
|
JSON JavaScript 前端开发