一个ajax的Post要求

<1>

$.post(url,[data],[callback],[type]) 第一个参数是地址,第二个参数是一个参数传递。第三个参数是一个回调函数。參数是请求返回数据的类型

//一个ajax的Post请求
    function submitInfo() {
        $(".warn").hide(); //刚提交的时候隐藏错误的信息
        var data = $("#formData").serialize(); //将表单的数据通过序列化表单值,创建 URL 编码文本字符串。

形成一个表单元素集合的 jQuery 对象
        $.post("/login/checkLoginInfo", data, function (ajaxObj) { //将数据提交到login控制器下的CheckLOginInfo方法。參数是data。  假设请求成功。function就是请求成功时运行的回调函数。ajaxObj是checkLoginInfo方法的返回数据
            //回传内容{status: 1(success)/0(fail),}
            if (ajaxObj.status == 0 || status == null) { //假设返回状态为0或者为null
                $(".warn").show(); //将错误信息显示出来
            } else {
                //登陆成功。跳转都制定页面
                window.location = '/HotelList/Index';
            }
        }, "json"); //这里是第四个參数,这里设置了获取数据的类型,所以得到的数据格式为json类型的

    }

<2>

注意这条语句的參数。与回调函数 loginFinish 与上面条$.Post()请求的差别

$.post("/ajax/UserLogin.ashx",

{ "username": username, "password": password },

loginFinish);

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link href="/css/ui-lightness/jquery-ui-1.8.2.custom.css" rel="stylesheet" type="text/css" />
    <script src="/js/jquery-1.4.2.js" type="text/javascript"></script>
    <script src="/js/jquery-ui-1.8.2.custom.js" type="text/javascript"></script>
    <script type="text/javascript">
        //向服务器请求当前登录状态。然后切换登录区域的显示
        var checkLogin = function () {
            $.post("/ajax/CheckLogin.ashx", function (data) {
                var strs = data.split("|");
                if (strs[0] == "no") {
                    //alert("木有登陆");
                    $("#divLoginArea").show(); //假设没有登陆就显示"登陆"
                    $("#divLoginOutArea").hide(); //隐藏"注销"
                }
                else {
                    //切换“登录”、“注销”的两个层
                    $("#divLoginArea").hide(); //隐藏"登陆"
                    $("#divLoginOutArea").show(); //显示 "注销"
                    $("#spanUserName").text(strs[1]);//把当前登录username显示出来
                }
            });
        }

        var loginFinish = function (data) {  //这是一个回调函数
            if (data == "ok") {
                //alert("成功");
                $("#divLogin").dialog("close"); //登录成功关闭窗体
                checkLogin();//登录成功。刷新登录区域的显示
            }
            else {
                alert("username密码错误");
            }
        };
        $(function () {
            $("#btnShowLoginDlg").click(function () {
                $("#divLogin").dialog({
                    height: 200,
                    modal: true
                });
            });
            $("#btnLogin").click(function () {  //当用户点击"登陆" 控件触发事件
                //todo:检验username、密码不能为空
                var username = $("#txtUserName").val();
                var password = $("#txtPwd").val();
                $.post("/ajax/UserLogin.ashx",//----------------------请关注这条$.Post()请求的參数与回调函数
                    { "username": username, "password": password },
                    loginFinish);
            });
        });

        $(function () {
            checkLogin();//刚进入页面的时候也是先向服务器查询当前登录状态
            $("#btnLogout").click(function () {
                $.post("/ajax/Logout.ashx", function () {
                    checkLogin();//刷新显示
                });
            });
        });
    </script>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <div id="divLoginArea" style="display:none"><input type="button" value="登录" id="btnShowLoginDlg" /></div>
        <div id="divLoginOutArea" style="display:none">
            <span id="spanUserName"></span>
            <input type="button" value="注销" id="btnLogout" />
        </div>
        <div id="divLogin" title="登录窗体"  style="display:none">
            <table>
                <tr><td>username:</td><td><input type="text"  id="txtUserName"/></td></tr>
                <tr><td>密码:</td><td><input type="password"  id="txtPwd"/></td></tr>
                <tr><td colspan="2"><input type="button" value="登录" id="btnLogin" /></td></tr>
            </table>
        </div>
        <br />
        <asp:ContentPlaceHolder ID="placeHolderMain" runat="server">

        </asp:ContentPlaceHolder>
        <br />
         尾部<br />
    </div>
    </form>
</body>
</html>







版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-10-04 15:44:20

一个ajax的Post要求的相关文章

写一个ajax程序就是如此简单

写一个ajax程序就是如此简单 ajax介绍: 1:AJAX全称为Asynchronous JavaScript and XML(异步JavaScript和XML),指一种创建交互式网页应用的网页开发技术.     2:基于web标准XHTML+CSS的表示:     3:使用 DOM进行动态显示及交互:     4:使用 XML 和 XSLT 进行数据交换及相关操作:     5:使用 XMLHttpRequest 进行异步数据查询.检索: 程序员应用ajax的途经: 1:.Net下的Ajax

全局为每一个ajax请求都附带一个loading效果 .ajaxSend

描述: 在Ajax请求发送之前绑定一个要执行的函数,这是一个 Ajax Event. 添加的版本: 1.0.ajaxSend( handler(event, jqXHR, ajaxOptions) ) handler(event, jqXHR, ajaxOptions) 类型: Function() 被调用的函数. 每当一个Ajax请求即将发送,jQuery就会触发ajaxSend事件,在这个时间点所有处理函数都会使用.ajaxSend()方法注册并执行. 观察这种方法,建立一个基本的Ajax加

封装一个Ajax工具函数

/*封装一个ajax工具函数*/ window.$ = {}; /*通过$定义一个ajax函数*/ /* * 1. type   string   请求的方式  默认是get * 2. url    string   请求地址  接口地址 * 3. async  boolean  默认的是true * 4. data   object   {}请求数据 * * 5.success function  成功回调函数 * 6.error   function  失败的回调函数 * */ $.ajax

写一个ajax请求出现的问题

今天在写一个ajax请求的时候出现ajax请求成功后,页面居然会出现刷新,url有跳转,找了半天,终于发现了问题所在,原来我在表单里面有一个 <input type="button" onclick="submit()"/>元素,之前用的是表单提交的方式发送的请求,改成ajax请求后忘记删除,但是我好奇的是我在js里面写的submit()方法已经被删除了,怎么还会提交表单呢?我仔细一看,原来button的onclick事件触发的submit()方法还是会

ajax:在jquery基础上又封装了一个ajax

1.2是正确的,4是前端错误,404,url错误,找不到路径,5是服务器端错误 2.多个表单需要提交所以用到了表单序列化 3. 4.post请求也可以?+参数,但是不见这样写, 5.load:把远程服务端的数据加载到客户端 6.返回信息放在最后的function中,xhr是一个返回对象,所有信息都在里面,status是返回状态 7.post和get不管请求成功还是失败都有值,ajax中写的success是请求成功才有参数 8.提交表单,浏览器支持的默认方式是submit的,如果type是butt

一个ajax的Post请求

<1> //一个ajax的Post请求 function submitInfo() { $(".warn").hide(); //刚提交的时候隐藏错误的信息 var data = $("#formData").serialize(); //将表单的数据通过序列化表单值,创建 URL 编码文本字符串.形成一个表单元素集合的 jQuery 对象 $.post("/login/checkLoginInfo", data, function

为大家分享一个 Ajax Loading —— spin.js(转)

原文地址:http://www.cnblogs.com/lxblog/p/3425599.html 我们在做Ajax 异步请求的时候,一般都会利用一个动态的 Gif 小图片来制作一个Ajax Loading ,以便增加用户体验. 今天在网上发现了一个 Spin.js ,该 js 脚本压缩后5k,可以不用任何图片,任何外部的CSS样式,就可以创建一个Ajax Loading 指示器,且兼容以下浏览器: Spin.js 的在线设计.演示及下载地址为:http://fgnass.github.io/s

请用原生JS代码实现一个Ajax异步请求。

实现ajax之前必须要创建一个 XMLHttpRequest 对象.如果不支持创建该对象的浏览器,则需要创建 ActiveXObject. var xmlHttp; function createxmlHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp=new XM

弄一个ajax笔记方便查询-$.ajax()

$.ajax()是所有ajax方法中最底层的方法,所有其他方法都是基于$.ajax()方法的封装.这个方法只有一个参数,传递一个各个功能键值对的对象. $.ajax()方法对象参数表: 参数 类型 说明 url String 发送请求的地址 type String 请求方式:POST或GET,默认GET timeout Number 设置请求超时的时间(毫秒) data Object或String 发送到服务器的数据,对象或键值对字符串 dataType String 返回的数据类型,比如htm