- 浏览: 1337880 次
- 性别:
- 来自: 湖南澧縣
文章分类
最新评论
-
虾米小尹:
不行啊!2.2-0.25=1.9500000000000002 ...
JavaScript浮点数运算 —— 精度问题 -
heluping000000:
引用String a= "abc",首先在 ...
String,到底创建了多少个对象? -
mack:
谢谢分享matcher.appendReplacement(s ...
string.replaceAll()中的特殊字符($ \)与matcher.appendReplacement -
wzt3309:
完全理解,比网上其他资料都要详细
String,到底创建了多少个对象? -
u014771876:
Java中十六进制转换 Integer.toHexString()
看过前面的例子后(使用XML向服务器发送复杂的数据结构),你可能会改变注意。通过串连接来创建XML串并不能,这也不是用来生成或修改XML数据结构的健壮的技术。
使用JSON向服务器发送数据
该示例了如果使用JSON将JavaScript对象转换为串格式,并使用Ajax技术将这个串发送到服务器,然后服务根据这个串创建一个对象。
jsonExample.html清单:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JSON Example</title> <script type="text/javascript" src="json.js"></script> <script type="text/javascript"> var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } //主函数入口 function doJSON() { var car = getCarObject(); //使用JSON脚本库把JavaScript对象转换成Json字符串 var carAsJSON = JSON.stringify(car); alert("Car object as JSON:\n " + carAsJSON); var url = "JSONExample?timeStamp=" + new Date().getTime(); createXMLHttpRequest(); xmlHttp.open("POST", url, true); xmlHttp.onreadystatechange = handleStateChange; xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlHttp.send(carAsJSON); } //状态改变处理函数 function handleStateChange() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { parseResults(); } } } //回调函数 function parseResults() { var responseDiv = document.getElementById("serverResponse"); if(responseDiv.hasChildNodes()) { responseDiv.removeChild(responseDiv.childNodes[0]); } var responseText = document.createTextNode(xmlHttp.responseText); responseDiv.appendChild(responseText); } //创建汽车对象 function getCarObject() { return new Car("Dodge", "Coronet R/T", 1968, "yellow"); } //汽车对象 function Car(make, model, year, color) { this.make = make; this.model = model; this.year = year; this.color = color; } </script> </head> <body> <br/><br/> <form action="#"> <input type="button" value="Click here to send JSON data to the server" onclick="doJSON();"/> </form> <h2>Server Response:</h2> <div id="serverResponse"></div> </body> </html>
JSONExample.java清单:
package ajaxbook.chap3; import java.io.*; import java.net.*; import java.text.ParseException; import javax.servlet.*; import javax.servlet.http.*; import org.json.JSONObject; public class JSONExample extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String json = readJSONStringFromRequestBody(request); //使用 JSON-Java 特定库创建Json Java 对象 JSONObject jsonObject = null; try { jsonObject = new JSONObject(json); } catch(ParseException pe) { System.out.println("ParseException: " + pe.toString()); } String responseText = "You have a " + jsonObject.getInt("year") + " " + jsonObject.getString("make") + " " + jsonObject.getString("model") + " " + " that is " + jsonObject.getString("color") + " in color."; response.setContentType("text/xml"); response.getWriter().print(responseText); } //从客户端读取JSON字符串 private String readJSONStringFromRequestBody(HttpServletRequest request){ StringBuffer json = new StringBuffer(); String line = null; try { BufferedReader reader = request.getReader(); while((line = reader.readLine()) != null) { json.append(line); } } catch(Exception e) { System.out.println("Error reading JSON string: " + e.toString()); } return json.toString(); } }
运行结果:
发表评论
-
HTML、JS、JSON特殊字符
2010-12-13 23:47 25888JS到HTML特殊字符转换 这几天做项目,发现从服务器端以J ... -
HTML — HTTP URL 中的特殊字符
2009-10-31 18:16 33071. + URL中的+号表示空格 ... -
HTML — CSS选择器
2009-10-25 21:11 2161一个样式规则由两部分组成:选择器和样式声明。选择器表明要为哪一 ... -
部分解决JsUnit无法在firefox3、safari 测试的问题
2009-10-25 07:03 1444在上一篇中出现了一个问题,就是用 jsunit2.2alpha ... -
JsUnit——eclipse插件(四)
2009-10-25 06:59 2450这节我们来看看如何通过JsUnit插件来运行前几节所测试过的测 ... -
10、JavaScript跨浏览器需注意的问题——ajax基础笔记
2009-10-21 22:19 1377向表中追加行 创建表格行时,我们要把创建的 tr 追加到 t ... -
JsUnit详解——Web服务方式(三)
2009-10-21 00:21 2457上两节提到过以Web方式来运行JsUnit,不过不是很详细,这 ... -
JsUnit详解——《ajax基础》笔记(二)
2009-10-20 22:38 2533使用标准/定制查询串 如此说来,测试运行工具是很强大的,但是 ... -
JsUnit详解——《ajax基础》笔记(一)
2009-10-20 19:57 2623JsUnit与JUnit对比 JsUnit也有setUp() ... -
使用Firefox的Web开发插件
2009-10-18 17:53 1478Firefox的Web开发插件为Firefox浏览器增加了大量 ... -
9、访问WEB服务(REST)——ajax基础笔记
2009-10-18 17:24 4044最其名的WEB服务实现是S ... -
8、读取响应头部——ajax基础笔记
2009-10-18 17:20 6760你有时可能需要从服务器获取一些内容,例如,可能想“ping”一 ... -
6、请求参数作为XML发送——ajax基础笔记
2009-10-18 17:20 1794如果只是使用一个包含 名/值 对的简单查询串,这可能不够健壮, ... -
4、将使用W3C DOM动态生成页面——ajax基础笔记
2009-10-18 17:19 1448使用W3C DOM动态生成页面 dynamicContent ... -
3、将响应解析为XML——ajax基础笔记
2009-10-18 17:18 1069将响应解析为XML parseXML.xml清单: < ... -
2、使用innerHTML属性创建动态内容——ajax基础笔记
2009-10-18 17:17 1934使用innerHTML属性创建动态内容 如果结合作用HTML ... -
1、使用XMLHttpRequest对象——ajax基础笔记
2009-10-18 17:17 2024XMLHttpRequest最早是在 IE5 中以active ... -
30、JavaScript代码优化
2009-10-16 21:25 1572JavaScript代码的速度被分成两部分:下载时间和执行速度 ... -
JavaScript代码优化(二)
2009-10-16 01:32 1202◆字符串的使用 在IE6和IE7中因字符串级联导致的主要问题 ... -
JavaScript代码优化(一)
2009-10-15 23:47 1263尽可能避免使用全局变量和函数.全局的变量和函数其实等价于 wi ...
相关推荐
核心在于使用JavaScript与服务器进行异步数据交换,并且利用浏览器内置的对象——XmlHttpRequest(XHR)来实现这一过程。在本笔记中,我们将深入探讨XmlHttpRequest在Ajax中的应用实例,以及如何结合jQuery库进行更...
《完善后的在线云笔记系统——基于mybatis、javaee、ajax和json的技术实践》 在线云笔记系统在当今数字化时代中扮演着重要角色,它为用户提供了一种方便、快捷的记录、整理和共享信息的方式。本项目是针对一个已有...
- 为了保存用户的笔记数据,项目可能利用了浏览器的`localStorage`或`sessionStorage`进行数据持久化,或者通过Ajax同步到服务器。 8. **响应式布局** - 应用可能使用`Flexbox`或`Grid`布局,确保在不同设备和...
在“老男孩第20周视频教程笔记”中,我们主要关注的是前端开发的一个关键话题——AJAX(异步JavaScript和XML)。AJAX是一种在不重新加载整个网页的情况下,能够更新部分网页的技术,极大地提升了用户体验。它通过...
13. **JSON(JavaScript Object Notation)**:JSON是轻量级的数据交换格式,常用于Web服务之间的数据通信,因其简洁和易读性而广泛使用。 14. **WebSocket**:WebSocket协议提供了全双工的通信通道,允许客户端和...
2. **jQuery配合**:前端使用jQuery发送AJAX请求,并解析服务器响应的JSON数据。 3. **Struts2 JSON插件**:通过引入Struts2的JSON插件,可以更便捷地实现Ajax功能。 - **配置文件**:在Struts2配置文件中指定扩展...
JavaScript通过XMLHttpRequest对象实现异步通信,虽然名称中含有XML,但实际应用中更多地使用JSON格式传递数据。 4. Java基础知识: - 类与对象:Java是一种面向对象的语言,通过定义类来创建对象,类包含了数据...
4. **AJAX/Fetch**:用于实现前后端数据通信,比如创建新笔记、更新笔记内容或获取笔记列表等操作,都需要与服务器进行异步交互。 二、后端开发 1. **服务器架构**:可能采用Node.js、Python Flask/Django、Java ...
在这些配置选项中,`beforeSubmit`回调函数可以用来在表单提交前进行数据验证,避免无效数据被发送到服务器。`success`和`error`回调则分别在表单提交成功或失败后执行,可以根据服务器返回的状态和数据进行相应的...
- 调用:使用这个远程对象,JavaScript可以直接调用Java方法,DWR会自动处理请求的发送和结果的接收。 - 服务器端:DWR接收到请求后,找到对应的Java方法并执行,然后将结果返回。 - 响应:结果被封装成JSON或XML...
《DWR笔记整理(三)——深入理解与实践》 Direct Web Remoting(DWR)是一种JavaScript库,它使得在浏览器和服务器之间进行双向通信变得简单。本篇笔记将深入探讨DWR的核心概念、功能以及如何在实际项目中应用。...
【Servlet学习笔记】是关于Java Web开发中一个关键组件——Servlet的详细教程,它主要讲述了前端与后端如何协同工作,实现数据的交互和页面的动态呈现。在Web应用程序开发中,Servlet扮演着服务器端程序的角色,处理...
《SpringBoot实战——foodie-dev项目解析》 在IT领域,SpringBoot框架因其简洁的配置、快速的开发特性,已经成为构建微服务应用的首选之一。本文将深入剖析名为"foodie-dev"的SpringBoot项目,这是一个已经完成了40...
1. **DWR的基本原理**:DWR通过JSON或XML格式在浏览器与服务器之间传输数据,实现了AJAX(Asynchronous JavaScript and XML)的功能,但比传统的AJAX更易用,因为它隐藏了大部分复杂性,开发者只需要关注业务逻辑。...
在开发过程中,尤其是在前后端分离的应用中,这种策略常常成为阻碍,因为前端需要向不同的服务器请求数据。 JSONP(JSON with Padding)是一种常见的跨域解决方案。它的原理是利用HTML中不受同源策略限制的`...
使用JSON格式交换数据,配合AJAX请求进行通信。 7. **版本控制** - 使用Git进行代码版本控制,确保团队协作时代码的一致性和可追溯性。 8. **测试** - 利用Jest、Mocha等测试框架编写单元测试和集成测试,确保应用...
此外,jqGrid 还支持多种数据源(如 JSON、XML、AJAX 等),可以通过更改 `datatype` 值来切换。对于远程数据,通常需要设置 `url` 参数来指定数据获取的地址,并可能需要配置 `mtype`(请求类型,通常是 GET 或 ...