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”揭示了这个压缩包文件主要涉及的是Web开发中的核心技术,具体包括PHP、jQuery、Ajax以及JSON。这四个元素在构建动态、交互式的Web应用程序时起着至关重要的作用。 1. **PHP(Hypertext...
在Web开发中,树形结构是一种常见的数据展示方式,尤其在组织结构、目录导航、层级菜单等方面应用广泛。jQueryMZTree是一款基于jQuery的轻量级树形插件,它以其易用性、灵活性和丰富的功能在开发者社区中备受推崇。...
通过学习和理解这个项目,开发者可以了解到如何在前端利用jQuery和XML-RPC技术进行高效的远程数据交互,这对于开发交互丰富的Web应用非常有帮助。同时,这也是提升前端技能和了解服务器通信机制的良好实践。
在当今的Web开发中,将网页内容导出为Word文档是一项常见的需求。"jQuery-Word-Export-master.zip" 是一个专门用于实现这一功能的开源项目,它提供了简单易用的API,使得开发者能够轻松地将HTML内容转化为可下载的...
在Web应用中,JSON常用于在服务器和客户端之间传递数据。 项目中的“jquery-json-master”可能包含了以下内容: 1. **jQuery JSON插件源码**:这个插件提供了$.toJSON()和$.parseJSON()两个主要方法。$.toJSON()...
在现代Web开发中,前端数据处理是一项不可或缺的任务,尤其在表单提交时,将表单数据转化为JSON对象显得尤为重要。"前端项目-jquery-form-serializer.zip" 提供了一个便捷的解决方案,它是一款基于jQuery的插件,...
在实际应用中,jQuery-QueryBuilder常用于报表工具、数据过滤、搜索功能等场景,通过其强大的功能和易用性,能够大大提升用户体验,降低开发复杂度。在使用时,开发者应根据项目需求配置相关选项,并确保与后端接口...
总结来说,jQuery Editable和jQuery UI Editable是提升网页交互性和数据管理效率的强大工具。了解并熟练使用这些插件,能够帮助开发者创建出更加用户友好的Web界面,优化用户体验。在实际项目中,根据需求选择合适的...
在Web开发领域,表单验证是不可或缺的一环,它确保用户输入的数据符合预期格式,从而提高用户体验并减少服务器端处理的压力。jQuery Validation插件是jQuery库的一个强大扩展,用于实现客户端的表单验证。本篇文章将...
在Web开发中,jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互等任务。本文将深入探讨jQuery中的一个关键Ajax方法——`load()`,它允许开发者从服务器动态地加载数据并将其插入到...
Python数据分析是现代数据科学领域中不可或缺的一部分,而jQuery则是JavaScript库中的明星,它在Web开发中扮演着重要的角色。在本教程中,我们将探讨如何结合这两个强大的工具来增强你的数据分析能力。 首先,让...
在Web开发中,与用户进行交互是必不可少的环节,而对话框则是实现这一目标的重要工具。jQuery-Impromptu是一个基于jQuery的插件,它提供了高度可定制的模态对话框功能,使开发者能够轻松创建出丰富多样的提示、确认...
在Web开发中,jQuery库提供了一种简化的方式来与服务器进行异步通信,这就是AJAX(Asynchronous JavaScript and XML)技术。在jQuery中,AJAX主要通过`$.get()`和`$.post()`这两个方法来实现GET和POST请求。本文将...
总结来说,"jQuery+json异步实现JSP和struts2之间的数据传递"是Web开发中的常见实践,它利用jQuery的Ajax功能与Struts2的JSON支持,实现了前后端的数据同步,简化了开发流程,提高了应用程序的响应速度和用户体验。...
3. **交互性增强**:Flash-jQuery插件使得Flash与JavaScript之间的通信更加顺畅,允许用户在不离开页面的情况下与Flash内容进行交互,例如传递数据、响应用户事件等。 4. **兼容性优化**:考虑到部分用户可能禁用了...
在Web开发中,下拉选择框(Select)是常见的用户输入组件,但原生的HTML `<select>` 元素往往功能有限,特别是在大型数据集或需要提供搜索功能的情况下。jQuery-searchableSelect插件正是为了解决这个问题,它提供了...
Struts2是一个流行的Java web框架,它为开发者提供了一种模型-视图-控制器(MVC)架构,便于构建可维护、可扩展的Web应用...同时,这也是一种常见的Web开发技术,对于理解和掌握现代Web应用程序的构建具有重要意义。
总的来说,jQuery Sparklines 是一个强大且易于使用的前端工具,能够为Web应用增添丰富的数据可视化元素,提升用户体验。在实际开发中,通过熟练掌握其用法和技巧,我们可以创建出高效、美观的数据展示效果。
通过学习和理解这个项目,开发者可以掌握SpringMVC的MVC设计模式、jQuery的AJAX应用以及easyUI的UI设计,提升Web开发技能。对于初学者来说,这是一个很好的实践平台,能够帮助他们快速理解和掌握这些技术的集成应用...
4. **前后端交互**:Web IM Widget需要与后端服务器进行数据交换,实现用户身份验证、消息传递等功能。这涉及到了Ajax请求、WebSocket等技术,以及可能的RESTful API设计。 5. **HTML和CSS**:虽然主要涉及...