• JQuery(三) Ajax相关


    JQuery大大简化了Ajax通用操作,开发者只需要指定请求URL,回调函数即可。

    三个主要方法:

    $().param(obj):将obj参数(对象或数组)转化成查询字符串。

    {name:"疯狂Java讲义", price:109}转换出的查询字符串为:
    name=%E7%96%AF%E7%8B%82Java%E8%AE%B2%E4%B9%89&price=109

    serialize():将表单或表单控件转化成查询字符串。

    user=vince&desc=%E4%BB%8B%E7%BB%8D&book=javaee

    serializeArray():将表单或表单控件转化成形如{name:namelabel , value:realvalue}的对象。

    第0表单控件名为:user,值为:vince
    第1表单控件名为:desc,值为:介绍
    第2表单控件名为:book,值为:javaee

    实例

    <!DOCTYPE html>
    <html>
    <head>
        <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
        <title> 处理表单 </title>
    </head>
    <body>
    <form id="test">
    用户名:<input id="user" name="user" type="text" /><br />
    个人介绍:<textarea id="desc" name="desc"></textarea><br />
    喜欢的图书:<select id="book" name="book">
        <option value="java">疯狂Java讲义</option>
        <option value="javaee">轻量级Java EE企业应用实战</option>
        <option value="ajax">疯狂Ajax讲义</option>
    </select>
    </form>
    <button id="bn1">查询字符串</button>
    <button id="bn2">查询JSON对象</button>
    <button id="bn3">将对象转换为查询字符串</button><hr />
    <span id="show"></span>
    <script type="text/javascript" src="../jquery-1.8.0.js">
    </script>
    <script type="text/javascript">
        // 为id为bn1的按钮绑定事件处理函数
        $("#bn1").click(function()
        {
            // 将id为test1的表单转换为查询字符串
            $("#show").html($("#test").serialize());
        });
        // 为id为bn2的按钮绑定事件处理函数
        $("#bn2").click(function()
        {
            // 将所有输入元素转换为数组
            var arr = $(":input").serializeArray();
            $("#show").empty();
            // 遍历arr数组
            for (var index in arr)
            {
                $("#show").append("" + index + "表单控件名为:" 
                    + arr[index].name + ",值为:" + arr[index].value + "<br />");
            }
        });
        $("#bn3").click(function()
        {
            // 调用$.param将对象转换为查询字符串
            $("#show").html('{name:"疯狂Java讲义", price:109}'
                + '转换出的查询字符串为:<br/>'
                + $.param({name:"疯狂Java讲义", price:109}));
        });
    </script>
    </body>
    </html>
    View Code

    load(url[,data][,callback]):向URL异步请求,将相应插入当前DOM。

    data格式:{key1:val1,key2:val2}。callback是回调函数。

    实例

    <!DOCTYPE html>
    <html>
    <head>
        <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
        <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
        <title> 使用jQuery的load方法 </title>
    </head>
    <body>
    <h3>请输入你的信息:</h3>
    <form id="userForm">
        用户名:<input type="text" name="user" /><br />
        喜欢的图书:<select multiple="multiple" name="books">
            <option value="java">疯狂Java讲义</option>
            <option value="javaee">轻量级Java EE企业应用实战</option>
            <option value="ajax">疯狂Ajax讲义</option>
            <option value="xml">疯狂XML讲义</option>
        </select><br />
        <input id="load" type="button" value="Load"/>
    </form><hr />
    <div id="show"></div>
    <script src="jquery-1.8.0.js" type="text/javascript">
    </script>
    <script type="text/javascript">
        // 为id为load的按钮绑定事件处理函数
        $("#load").click(function()
        {
            // 向pro发送Ajax请求,并自动加载服务器响应
            $("#show").load("pro" , $("#userForm").serializeArray());
        });
    </script>
    </body>
    </html>
    View Code

    服务器端如何接收及响应Ajax

    1. Servlet response可接收可发送
    2. 服务器端写到session中
    3. struts 2支持stream类型的Result,可直接向浏览器生成二进制响应。
    4. Struts 2支持JSON插件。
    5. Struts 2支持Dojo插件。

    $().ajax(options)



    如果觉得对你有帮助,不妨请我喝杯茶!

    扫描下面支付宝链接。

  • 相关阅读:
    遥控按键上报键值映射问题
    AutoLock类
    Mutex互斥锁
    c++ 字符串和数字转换时的特殊处理
    pytorch实现MLP并在MNIST数据集上验证
    python实现直方图均衡化,理想高通滤波与高斯低通滤波
    python实现贝叶斯网络的概率推导(Probabilistic Inference)
    python+opencv实现车牌定位
    python添加高斯噪声和椒盐噪声,实现中值滤波和均值滤波,实现Roberts算子和Sobel算子
    c++学习笔记_6
  • 原文地址:https://www.cnblogs.com/VinceYang1994/p/4324537.html
Copyright © 2020-2023  润新知