`
2277259257
  • 浏览: 515128 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

web开发总结----jQuery数据传递

 
阅读更多

jQuery 对 ajax 的支持

1)  $.ajax(options):发送Ajax请求
options 是一个形如{key1:value1,key2:value2...}的 js 对象,用于指定发送请求的选项。
选项参数如下:
  url(string):  请求地址
  type(string):  GET/POST
  data(object/string): 发送到服务器的参数
  dataType(string):  预期服务器返回的数据类型,一般有:
              json: 返回 json 字符串
              xml: 返回 xml 文档
              html:  返回的是一个 html 内容
              script:  返回的是一个 javascript 脚本
              text: 返回的是一个文本
  回调凼数 success(function):请求成功后调用的回调凼数,有两个参数:function(data , textStatus)
              data:  服务器返回的数据
              textStatus: 描述状态的字符串
  回调凼数 error(function):请求失败时调用的凼数,有三个参数 function(xhr , textStatus , errorThrown)
              textStatus 不 errorThrown 这两个参数只有一个可用(一般很少用)
2)  $.get(url,[data],[callback],[type]) :发送 get 请求
  url: 请求地址
  data:  请求参数,可以是一个 js 对象{"name":"zs","age":22},也可以是一个请求字符串 "name=zs&age=22"。
  callback: 回调凼数,callback 格式 function(data,statusText){}
  type:  预期服务器返回的数据类型
3)  $.post()格式同上:发送 post 请求

4)  load(url):将服务器响应插入当前 jQuery 对象匹配的 dom 元素之内
    var $obj = $(选择器);
    $obj.load(url);
5)  serialize():为了方便地向服务器传递参数,可以使用 serialize()
  serialize(): 将 jQuery 对象包含的表单或 s 表单域转换成查询字符串
  serializeArray(): 转换为一个数组,每个数组元素形如 {name:fieldName,value:fieldVal}的对象。

 

 

--------------------------前端页面-----------------------------------------------------------------------------------

 <%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head>
<style>
      #d1{
             width:300px;
             height:80px;
             background-color:#fff8dc;
             display:none;
      }
</style>
<script type="text/javascript" src="js/jquery-1.4.3.js"></script>
<script type="text/javascript">

演示: jQuery的Ajax请求
     $(function(){---初始化函数
           $('select').change(function(){---select元素绑定change事件

                  $('#d1').remove();---当change函数执行时将之前显示的东西清空
                  $.ajax({ ---ajax对象(括号里形如{key1:value1,key2:value2...}的 js 对象)
                            'url': 'carinfo.do', 
                            'type':  'post', 
                            'data':  {'name':$('#s1').val()}, ---向后端发送的数据

                            'data':  $('#s1').serialize(), 生成字符串形如name=bmw520

                            'data':  $('#s1').serializeArray(),等价于 'data':  {'name':$('#s1').val()},前者自动组装后者手动组装

                            'dataType':  'json', 'xml',
                            'success': function(data,statusText){  接收后端正确数据data已经被转换成了js对象                                        
                                                 $('#s1').after("<div id='d1'></div>");在id为s1的<select>元素后增加一个<div>
                                                 $('#d1').html('报价:'+ data.price + '<br/>' + ' 描述:' + data.desc);补充DIV元素内容
                                                 $('#d1').slideDown('slow'); 设置该<div>动画效果
                                                 setTimeout(function(){ $('#d1').slideUp('slow');},1000);

 

                                                返回XML文本:data是一个dom节点,指向xml文档对应的那棵dom树

                                                var $obj = $(data);
                                                $('#s1').after("<div id='d1'></div>");
                                                $('#d1').html('报价:'+ $obj.find('price').text()+ '<br/> 描述:' + $obj.find('desc').text());

                                            },
                            'error': function(xhr,e1,e2){接收后端正确数据xhr:XmlHttpRequest对象e1,e2 :具体的错误信息
                                                alert('系统错误');
                                       }
                    });
           });
    });

 

演示: jQuery的get请求/post请求
      $(function(){
            $('#s1').change(function(){
                  $.get(

                           'carinfo.do',

                           {'name':$('#s1').val()},
                           function(data,desc){---data已经转换成了js对象
                                  $('#s1').after("<div id='d1'></div>");
                                  $('#d1').html('报价:'+ data.price + '<br/>' + ' 描述:' + data.desc);
                                  $('#d1').slideDown('slow');
                                  setTimeout(function(){$('#d1').slideUp('slow');},1000);
                            },

                            'json'

                   );
            });
      });


演示:load 方法(类似一条数据,点击后调用load方法在该数据下显示其明细)

后端代码略:和其他的响应头html格式一样获取前端数据,处理,打印输出

      $(function(){
            $('a').toggle(

                 function(){
                                var airline = $(this).text();
                                $(this).next().load('airline.do',{'airline':airline});
                 },

                 function(){
                                $(this).next().empty();
                 }

             );
      });

</script>
</head>
<body style="font-size:30px;">
         <select style="width:120px;" id="s1" name="name">
                <option value="bmw520">宝马520</option>
                <option value="qqme">QQme</option>
                <option value="maiten">迈腾</option>
         </select>

         <table border="1" cellpadding="0" cellspacing="0" width="50%">
                <tr><td>序号</td><td>航班号</td></tr>
                <tr>

                     <td>1</td>

                     <td> <a href="javascript:;">ca1008</a>   <div></div> </td>

                </tr>
                <tr>

                    <td>2</td>

                    <td> <a href="javascript:;">mu2008</a>   <div></div> </td>

                </tr>
         </table>
</body>
</html>

 

 --------------------------------------后端代码----------------------------------------------------------------

 servlet后端:

导入 JSON 的 Jar 包:

public class ActionServlet extends HttpServlet {
          public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
                    String uri =request.getRequestURI();
                    String path = uri.substring(uri.lastIndexOf("/"),uri.lastIndexOf("."));

                    if(path.equals("/carinfo")){
                          PrintWriter out = response.getWriter();
                          String name =request.getParameter("name");---获取页面传递参数的值
                          System. out .println(name);

                          response.setContentType("text/html;charset=utf-8");---返回JSON数据的字符串形式的响应格式

 

                          response.setContentType("text/xml;charset=utf-8");---返回XML文档字符串的响应格式

                          StringBuffer sb = new StringBuffer();
                          sb.append("<msg>");


                          if(name.equals("bmw520")){
                                 Car car = new Car("bmw520",50,"还行");
                                 JSONObject obj = JSONObject. fromObject (car);---java对象转换为JSON对象
                                 out.println(obj.toString());---输出JSON字符串形式数据到页面Ajax对象

 

                                 sb.append("<price>50</price>");
                                 sb.append("<desc>还丌错</desc>");
                         }else if(name.equals("qqme")){
                                 Car car = new Car("qqme",5,"真丌错");
                                 JSONObject obj = JSONObject. fromObject (car);
                                 out.println(obj.toString());

 

                                 sb.append("<price>5</price>");
                                 sb.append("<desc>非常丌错</desc>");
                        }else{
                                 Car car = new Car("maiten",18,"高性能商务车");
                                 JSONObject obj = JSONObject. fromObject (car);
                                 out.println(obj.toString());

 

                                 sb.append("<price>18</price>");
                                 sb.append("<desc>没开过丌知道</desc>");
                        }

                        sb.append("</msg>");
                        out.println(sb.toString()); ---输出XML文档字符串形式数据

 

                        out.close();
                   }
        }
}

 

 

分享到:
评论

相关推荐

    PHP-JQuery-Ajax-json

    标题“PHP-JQuery-Ajax-json”揭示了这个压缩包文件主要涉及的是Web开发中的核心技术,具体包括PHP、jQuery、Ajax以及JSON。这四个元素在构建动态、交互式的Web应用程序时起着至关重要的作用。 1. **PHP(Hypertext...

    jquery-jquery-mztree.rar

    在Web开发中,树形结构是一种常见的数据展示方式,尤其在组织结构、目录导航、层级菜单等方面应用广泛。jQueryMZTree是一款基于jQuery的轻量级树形插件,它以其易用性、灵活性和丰富的功能在开发者社区中备受推崇。...

    前端项目-jquery-xmlrpc.zip

    通过学习和理解这个项目,开发者可以了解到如何在前端利用jQuery和XML-RPC技术进行高效的远程数据交互,这对于开发交互丰富的Web应用非常有帮助。同时,这也是提升前端技能和了解服务器通信机制的良好实践。

    jQuery-Word-Export-master.zip

    在当今的Web开发中,将网页内容导出为Word文档是一项常见的需求。"jQuery-Word-Export-master.zip" 是一个专门用于实现这一功能的开源项目,它提供了简单易用的API,使得开发者能够轻松地将HTML内容转化为可下载的...

    前端项目-jquery-json.zip

    在Web应用中,JSON常用于在服务器和客户端之间传递数据。 项目中的“jquery-json-master”可能包含了以下内容: 1. **jQuery JSON插件源码**:这个插件提供了$.toJSON()和$.parseJSON()两个主要方法。$.toJSON()...

    前端项目-jquery-form-serializer.zip

    在现代Web开发中,前端数据处理是一项不可或缺的任务,尤其在表单提交时,将表单数据转化为JSON对象显得尤为重要。"前端项目-jquery-form-serializer.zip" 提供了一个便捷的解决方案,它是一款基于jQuery的插件,...

    jQuery-QueryBuilder.zip

    在实际应用中,jQuery-QueryBuilder常用于报表工具、数据过滤、搜索功能等场景,通过其强大的功能和易用性,能够大大提升用户体验,降低开发复杂度。在使用时,开发者应根据项目需求配置相关选项,并确保与后端接口...

    jquery-editable、jqueryUI-editable

    总结来说,jQuery Editable和jQuery UI Editable是提升网页交互性和数据管理效率的强大工具。了解并熟练使用这些插件,能够帮助开发者创建出更加用户友好的Web界面,优化用户体验。在实际项目中,根据需求选择合适的...

    jquery-validation-1.8.1里面有很多例子

    在Web开发领域,表单验证是不可或缺的一环,它确保用户输入的数据符合预期格式,从而提高用户体验并减少服务器端处理的压力。jQuery Validation插件是jQuery库的一个强大扩展,用于实现客户端的表单验证。本篇文章将...

    WEB开发 之 jQuery - AJAX load() 方法.docx

    在Web开发中,jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互等任务。本文将深入探讨jQuery中的一个关键Ajax方法——`load()`,它允许开发者从服务器动态地加载数据并将其插入到...

    python数据分析-09-jquery的介绍.ev4.rar

    Python数据分析是现代数据科学领域中不可或缺的一部分,而jQuery则是JavaScript库中的明星,它在Web开发中扮演着重要的角色。在本教程中,我们将探讨如何结合这两个强大的工具来增强你的数据分析能力。 首先,让...

    jQuery-Impromptu-master

    在Web开发中,与用户进行交互是必不可少的环节,而对话框则是实现这一目标的重要工具。jQuery-Impromptu是一个基于jQuery的插件,它提供了高度可定制的模态对话框功能,使开发者能够轻松创建出丰富多样的提示、确认...

    WEB开发 之 jQuery - AJAX get() 和 post() 方法.docx

    在Web开发中,jQuery库提供了一种简化的方式来与服务器进行异步通信,这就是AJAX(Asynchronous JavaScript and XML)技术。在jQuery中,AJAX主要通过`$.get()`和`$.post()`这两个方法来实现GET和POST请求。本文将...

    jQuery+json异步实现JSP和struts2之间的数据传递

    总结来说,"jQuery+json异步实现JSP和struts2之间的数据传递"是Web开发中的常见实践,它利用jQuery的Ajax功能与Struts2的JSON支持,实现了前后端的数据同步,简化了开发流程,提高了应用程序的响应速度和用户体验。...

    flash-jquery插件

    3. **交互性增强**:Flash-jQuery插件使得Flash与JavaScript之间的通信更加顺畅,允许用户在不离开页面的情况下与Flash内容进行交互,例如传递数据、响应用户事件等。 4. **兼容性优化**:考虑到部分用户可能禁用了...

    jQuery-searchableSelect带搜索功能的下拉选

    在Web开发中,下拉选择框(Select)是常见的用户输入组件,但原生的HTML `&lt;select&gt;` 元素往往功能有限,特别是在大型数据集或需要提供搜索功能的情况下。jQuery-searchableSelect插件正是为了解决这个问题,它提供了...

    struts2----json----jquery小案例

    Struts2是一个流行的Java web框架,它为开发者提供了一种模型-视图-控制器(MVC)架构,便于构建可维护、可扩展的Web应用...同时,这也是一种常见的Web开发技术,对于理解和掌握现代Web应用程序的构建具有重要意义。

    前端项目-jquery-sparklines.zip

    总的来说,jQuery Sparklines 是一个强大且易于使用的前端工具,能够为Web应用增添丰富的数据可视化元素,提升用户体验。在实际开发中,通过熟练掌握其用法和技巧,我们可以创建出高效、美观的数据展示效果。

    spring3mvc-jQuery-easyUI做的ajax版本用户管理系统

    通过学习和理解这个项目,开发者可以掌握SpringMVC的MVC设计模式、jQuery的AJAX应用以及easyUI的UI设计,提升Web开发技能。对于初学者来说,这是一个很好的实践平台,能够帮助他们快速理解和掌握这些技术的集成应用...

    rongcloud-web-im-widget-master

    4. **前后端交互**:Web IM Widget需要与后端服务器进行数据交换,实现用户身份验证、消息传递等功能。这涉及到了Ajax请求、WebSocket等技术,以及可能的RESTful API设计。 5. **HTML和CSS**:虽然主要涉及...

Global site tag (gtag.js) - Google Analytics