AJAX和DOM的运行经验

被AJAX中DOM的操作郁闷了好几天,今天总算搞明白了,自学就是苦啊,苦的一把鼻涕一把泪的, 
把教训些出来,给后来者提个醒,老鸟就不要看了。

1.DOM中的对XML的操作不要和浏览器中的弄混掉了,比如getElementByName是浏览器中内置document对象的DOM操作,你用来操作
  responseXML就是错误的.在浏览器中,你可以使用document.getElementsByName('tagname')[0].value来获取控件值,但是在操作
  responseXML的时候你就必须使用getElementsByName('tagname')[0].firstChild.data (nodeValue一样)。
2.如果你要应用responseXML,那么你要在服务器的应答服务中写上response.setContentType("text/xml");
   假如你的AJAX的代码没有一次通过,那么即使在你更改正确后,页面也许还是错误的,这个是讨厌的浏览器缓存造成的,
   万恶的缓存,我在这上面耽搁了至少1整天
  所以你最好在服务器应答页面写上禁止缓存的语句 response.setHeader("Cache-Control","no-cache");
   (请求url后面+当前系统的毫秒数也是一种方法。在js中用new Date().getTime()来获取系统与某一特定时间的毫秒差额。).
3.因为当前IE的一些标准不完全符合W3C。例如:
  监视控件的改变我们都知道onchange事件,但是对于text控件IE是不支持onchange属性的,所幸我们
  onpropertychange事件来监听text。
  再如我们在除IE以外的浏览器中设置CSS属性可以使用setAtrribute(),但是在IE中不支持,同样我们使用
  EObj.style.stylearrtibute=value来实现。

(0)

相关推荐

  • AJAX和DOM的运行经验

    被AJAX中DOM的操作郁闷了好几天,今天总算搞明白了,自学就是苦啊,苦的一把鼻涕一把泪的,  把教训些出来,给后来者提个醒,老鸟就不要看了. 1.DOM中的对XML的操作不要和浏览器中的弄混掉了,比如getElementByName是浏览器中内置document对象的DOM操作,你用来操作   responseXML就是错误的.在浏览器中,你可以使用document.getElementsByName('tagname')[0].value来获取控件值,但是在操作   responseXML的

  • ajax详解_动力节点Java学院整理

    在过去几年,JavaScript 已从让人事后才想起的偶然对象变成最重要的 Web 语言.如果要指出一个推动这项技术显著进步的因素,那就是基于 Ajax 的应用程序开发的出现. 开发关于该主题的技术 简言之,Ajax 是一种开发技术,支持网站或应用程序,使用实时数据更新界面,无需页面刷新.该功能创建了一种更为流畅且更具桌面风格的用户体验. Ajax 简史 Ajax 的发展历史类似于其他许多一夜成名的技术.尽管 Ajax 似乎不知从何而来,但实际上,它已经存在很长一段时间了.多年的努力使其遍布 W

  • PHP+ajax 无刷新删除数据

    首先本例基于留言本整理版修改. 我们使用了jquery.js来实现ajax和dom删除 首先加入 复制代码 代码如下: <script type="text/javascript" src="lib/jquery.js"></script> 给table加个 复制代码 代码如下: id="t<!--{$item.id}-->" 写个js: 复制代码 代码如下: <script> function d

  • Prototype最新版(1.5 rc2)使用指南(1)

    在写这个指南之前,先介绍一下Prototype主要是干吗的,如果你比较关注ajax/javascipt方面的应用,你应该早就听说过这个javascript framework. Prototype是一个基础的javascript应用框架,先引用一段官方网站的介绍 Prototype is a JavaScript framework that aims to ease development of dynamic web applications. Featuring a unique, eas

  • Google排名中的10个最著名的 JavaScript库

    JavaScript 是 Web 开发与设计中不可或缺的东西,不管是一个简单的网页还是一个专业的站点,也不管你是高手还是菜鸟,如今 JavaScript 库越来越强大,可以胜任许多复杂的工作,然而同时,人们在众多 JavaScript 库面前又觉得无所适从,本文,我们将使用 Google 搜索出排名前 10 位的 JavaScript 库,并对它们逐一进行介绍. 1. jQuery: The Write Less, Do More, JavaScript Library jQuery 是一个很新

  • 深入理解JavaScript系列(48):对象创建模式(下篇)

    介绍 本篇主要是介绍创建对象方面的模式的下篇,利用各种技巧可以极大地避免了错误或者可以编写出非常精简的代码. 模式6:函数语法糖 函数语法糖是为一个对象快速添加方法(函数)的扩展,这个主要是利用prototype的特性,代码比较简单,我们先来看一下实现代码: 复制代码 代码如下: if (typeof Function.prototype.method !== "function") {     Function.prototype.method = function (name, i

  • 简单了解常用的JavaScript 库

    JavaScript 高级程序设计(特别是对浏览器差异的复杂处理),通常很困难也很耗时. 为了应对这些调整,许多的 JavaScript (helper) 库应运而生. 这些 JavaScript 库常被称为 JavaScript 框架. 在本教程中,我们将了解到一些广受欢迎的 JavaScript 框架: jQuery Prototype MooTools 所有这些框架都提供针对常见 JavaScript 任务的函数,包括动画.DOM 操作以及 Ajax 处理. 在本教程中,您将学习到如何开始

  • JS异步的执行原理和回调详解

    一.JS异步的执行原理   我们知道JavaScript是单线程的,而浏览器是多线程的.单线程执行任务需要一个个排队进行,假如一个任务需要很长时间执行(像ajax需要较长时间),会直接导致无响应,后面的任务一直在等待执行.这时候就需要用到异步.   想了解异步,首先我们要知道浏览器有最基本的三个常驻线程: JS引擎线程,事件触发线程,GUI渲染线程.   其中JS引擎线程和事件触发线程共同构成了一种事件循环机制,而GUI渲染线程与JS引擎是互斥的,当JS引擎执行时GUI线程会被挂起,GUI更新保

  • 分析node事件循环和消息队列

    什么是异步? 异步和同步应该是经常谈的一个话题了.同步的概念很简单,自上而下依次执行,必须等上边执行完下边才会执行.而异步可以先提交一个命令,中间可以去执行别的事务,而当执行完之后回过头来返回之前的任务. 举个例子: 你很幸运,找了一个漂亮的女朋友,有一天你的女朋友发短信问你晚上看什么电影?但你并不知道看什么,马上打开电脑查了一下近期热播的电影,这其中你女朋友一直在等你,这就是同步 而异步呢?还是你女朋友发短信问你看什么电影,你跟她说: 你先等会吧吧,等我查一下,查好之后你回头打电话告诉了她.这

  • 浅谈js中的宏任务和微任务

    目录 1.关于JavaScript 2.JavaScript事件循环 3.宏任务和微任务 4.拓展宏任务微任务 下面一道关于宏任务和微任务的题: setTimeout(function(){ console.log('1') }); new Promise(function(resolve){ console.log('2'); resolve(); }).then(function(){ console.log('3') }); console.log('4') 试问一下上面代码的执行顺序是啥

随机推荐