Browsing the archives for the ajax tag

Ajax中XML和JSON格式的优劣比较

in 程序开发

刚做完一个小的使用Ajax的项目。整个小项目使用JavaScript做客户端,使用PHP做服务器端、利用xmlHttpRequest组件作为交互工具,利用XML作为数据传输的格式。做完后基本做一个简单总结,简单分析一下使用XML作为传输格式的优劣。 [   XML ] 使用XML作为传输格式的优势: 1. 格式统一, 符合标准 2. 容易与其他系统进行远程交互, 数据共享比较方便 缺点: 1. XML文件格式文件庞大, 格式复杂, 传输占用带宽 2. 服务器端和客户端都需要花费大量代码来解析XML, 不论服务器端和客户端代码变的异常复杂和不容易维护 3. 客户端不同浏览器之间解析XML的方式不一致, 需要重复编写很多代码 4. 服务器端和客户端解析XML花费资源和时间 [ JSON ] 那么除了XML格式, 还有没有其他格式, 有一种叫做JSON (JavaScript Object Notation) 的轻量级数据交换格式能够替代XML的工作.

0 Comments

Web QQ 原理,ajax方式模拟socket编程

in 程序开发

技术参考文档: http://www.ibm.com/developerworks/cn/web/wa-lo-comet/ http://www.javaeye.com/topic/28020 http://www.pushlets.com/ 更新请在搜索引擎里查找"服务器推技术"关键字 二、成功案例: GMail’s GTalk integration Jot Live Renkoo Meebo 国内案例 bai.sohu.com(使用 Ajax的长轮询(long-polling)实现) 之前有写过一篇文章,是描述如何用轮询的方式实现用ajax方式模拟socket编程的。轮询有很多缺点。服务器的负载性能是最关键的问题。之后我有想过很多办法来实现。自己实现过一个http长连接的方式做的系统。实现很复杂,我在这里就说一下怎么使用。具体的实现,这个软件包是开源的,基于C#。

0 Comments

用document.domain解决Ajax无法跨域问题

in 程序开发

因为浏览器的安全策略,浏览器不允许不同域(比如:dancewithnet.com和lab.dancewithnet.com)、不同协议(比如:http://dancewithnet.com和https://dancewithnet.com)、不同端口(比如:http:dancewithnet.com和http://dancewithnet.com:8080)下的页面通过XMLHTTPRequest相互访问,这个问题同样影响着不同页面的Javascript的相互调用和控制,但是当主域、协议、端口相同时,通过设置页面的document.domain主域,Javascript可以在不同的子域名间访问控制,比如通过设置document.domain=’dancewithnet.com’,http://dancewithnet.com和http://lab.dancewithnet.com页面可互访,这个特性也提供了此情况下不同子域名下的XMLHTTPRequest相互访问的解决方案。 对于主域、协议、端口相同时的Ajax跨域问题,很早就有设置document.domain来解决的说法,但一直没有看到具体的成功应用,这几天尝试了一下,其原理就是,利用一个隐藏的iframe引入所跨另一子域的页面作为代理,通过Javascript来控制iframe引入的另一子域的XMLHTTPRequest来进行数据获取。 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> <script type="text/javascript"> _uacct = "UA-300049-1"; urchinTracker(); </script> <h1>用document.domain解决Ajax跨子域</h1> <h3><a href="http://dancewithnet.com/2007/07/22/solve-cross-sub-domain-ajax-with-document-domain/">说明</a>|<a href="http://dancewithnet.com/2007/07/22/solve-cross-sub-domain-ajax-with-document-domain/#comments">评论</a></h3> <p>利用Ajax在dancewithnet.com域下获取http://lab.dancewithnet.com/2007/07/solve-cross-domain-ajax-with-document-domain/eg.txt的内容</p> <p>方法1:<br /><button type="button" id="btn1">直接获取</button></p> <p id="content1">如果方法1获取成功,此处文字将被Ajax获取的文字替换掉</p> <p>方法2:<br /><button type="button" id="btn2">利用iframe代理获取</button></p> <p id="content2">如果方法2获取成功,此处文字将被Ajax获取的文字替换掉</p> <iframe src="http://lab.dancewithnet.com/2007/07/solve-cross-domain-ajax-with-document-domain/proxy.html" id="proxy"></iframe> <script type="text/javascript" src="http://dancewithnet.com/lab/yui/yahoo-dom-event.js"></script> <script type="text/javascript" src="http://dancewithnet.com/lab/yui/connection.js"></script> <script type="text/javascript"> //<![CDATA[ document.domain = 'dancewithnet.com'; var $D = YAHOO.util.Dom; var $  = $D.get; var $E = [...]

0 Comments

Javascript跨域和Ajax跨域解决方案

in 前端设计

jax跨域和JS的跨域通信(Cross The Site)的几种解决方案 最近做的一个项目中需要ajax跨域取得数据,如果是在本域中确实没有问题,但是放到二级域和其他域下浏览器直接就弹出提示框:“该页正在访问其控制范围之外的数据,这有些危险,是否继续" 1.什么引起了ajax跨域不能的问题 ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。 2.有什么完美的解决方案么? 没有。解决方案有不少,但是只能是根据自己的实际情况来选择。 具体情况有: 一、本域和子域的相互访问: www.aa.com和book.aa.com 二、本域和其他域的相互访问: www.aa.com和www.bb.com 用 iframe 三、本域和其他域的相互访问: www.aa.com和www.bb.com 用 XMLHttpRequest访问代理 四、本域和其他域的相互访问: www.aa.com和www.bb.com 用 JS创建动态脚本

0 Comments

提高AJAX客户端响应速度

in js框架

AJAX的出现极大的改变了Web应用客户端的操作模 式,它使的用户可以在全心工作时不必频繁的忍受那令人厌恶的页面刷新。理论上AJAX技术在很大的程度上可以减少用户操作的等待时间,同时节约网络上的数 据流量。而然,实际情况却并不总是这样。用户时常会抱怨用了AJAX的系统响应速度反而降低了。 笔者从事AJAX方面的研发多年,参与开发了目前 国内较为成熟的AJAX平台-dorado。根据笔者的经验,导致这种结果的根本原因并不在AJAX。很多时候系统响应速度的降低都是由不够合理的界面设 计和不够高效的编程习惯造成的。下面我们就来分析几个AJAX开发过程中需要时刻注意的环节。

0 Comments

ajax处理过程,ajax入门,XMLHttpRequest对象

in js框架

XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础。尽管软件经销商和开源社团现在都在提供各种AJAX框架以进一步简化XMLHttpRequest对象的使用;但是,我们仍然很有必要理解这个对象的详细工作机制。

  一、 引言

  异步JavaScript与XML(AJAX)是一个专用术语,用于实现在客户端脚本与服务器之间的数据交互过程。这一技术的优点在于,它向开发者提供了一种从Web服务器检索数据而不必把用户当前正在观察的页面回馈给服务器。与现代浏览器的通过存取浏览器DOM结构的编程代码 (JavaScript)动态地改变被显示内容的支持相配合,AJAX让开发者在浏览器端更新被显示的HTML内容而不必刷新页面。换句话说,AJAX可以使基于浏览器的应用程序更具交互性而且更类似传统型桌面应用程序。

0 Comments

在jQuery中利用AJAX加载XML数据并解析

in js框架, 前端设计

cssrain翻了N多的关于AJAX加载XML的帖子尸体。。。。
总结一下:

1,Content-Type
很多时候无法解析就是Content-Type的问题。
如果本身就是xml文件,请跳过这一步
动态生成的XML一定要将其设置为text/xml,否则默认就是text/html也就是普通的文本了。
常见语言的Content-Type设置

header("Content-Type:text/xml"); //php
response.ContentType="text/xml" //asp
response.setHeader("ContentType","text/xml"); //jsp
2,xml结构。
XML一定要封闭的,很重要!

0 Comments