js浏览器-javascript中的一个小问题(浏览器问题)

问题描述

javascript中的一个小问题(浏览器问题)
求助 javascript中的一个小问题
<

html>

<
head>

<
title>Ajax 简单的服务器请求

<
script type=""text/javascript"">

var xmlobj;

function CreateXMLHttpRequest()

{

if(window.ActiveXObject) //如果当前浏览器支持ActiveXObject则创建ActiveXObject对象

{

xmlobj = new ActiveXObject(""Microsoft.XMLHTTP"");

}

else if(window.XMLHttpRequest) //如果当前浏览器支持XMLHttpRequest则创建XMLHttpRequest对象

{

 xmlobj = new XMLHttpRequest();

}

}

function Req(q) //主程序函数

{

 CreateXMLHttpRequest();                    //创建对象xmlobj.onreadystatechange = StatHandler;        //判断URL调用的状态值并处理xmlobj.open(""GET""text.php"" true);                //text.php是累加程序 

xmlobj.send(null); //设置不发送给服务器任何数据

function StatHandler()

{

 if(xmlobj.readyState == 4 && xmlobj.status == 200)        //如果URL成功使用警告框输出文本内容{         b=xmlobj.responseText;         //alert(b);         //alert(xmlobj.a);         q.innerHTML=b;         //b=null;      //这里去掉注释还是不行}

};

}

<
/script>

<
body>

<
form action="""">

<
div id='f1' onClick=""Req(this);"">点击1

<
div id='f2' onClick=""Req(this);"">点击2

<
div id='f3' onClick=""Req(this);"">点击3

<
div id='f4' onClick=""Req(this);"">点击4

<
div id='f5' onClick=""Req(this);"">点击5

<
br>

<
br>

<
br>

<
br>

在IE浏览器中不能累加 ,在其他浏览器中就没有问题 ,求解决!!!

解决方案

是代码问题,不是浏览器兼容问题。错在var xmlobj;这个全局变量。你的ajax调用应该使用回调函数的方式处理服务端响应。采用全局变量,变量名虽然一样,但是由于并发的原因,其引用的对象可能不同时间能指向不同的对象,导致“错乱”。

时间: 2024-10-30 21:30:43

js浏览器-javascript中的一个小问题(浏览器问题)的相关文章

javascript中的一个小问题

问题描述 javascript中的一个小问题 function clickButton() { dynamicInsert(""dynamic.js""); show(); } <input type=""button"" value=""OK""> 这个是html界面中的一个按钮,点击的时候动态载入一段脚本 /***动态的插入一个脚本*/function dynamicIn

Javascript中克隆一个数组的实现代码

 这篇文章主要是对在Javascript中克隆一个数组的实现代码进行了介绍.需要的朋友可以过来参考下,希望对大家有所帮助 08年一家公司JS面试题,职位是javascript工程师(赴google)   面试官问我如何克隆一个数组,当时想了下js的Object没有clone方法,java的Object有.   那怎么得到一个新数组呢?   我当时回答:用一个loop将源数组元素依次push到新数组中.这是最简单的方法,但显然不是面试官想要的答案.   最后告知我:利用Array的slice方法.

代码-如何解决Android中的一个小问题?

问题描述 如何解决Android中的一个小问题? 我在写android代码时候如下一段代码: public void cc(){ String aa=getHtml();//有点耗时 ......... } 在执行过程之中,程序还未等aa返回值时,就执行下面代码.如何让aa执行完后再执行下面代码. 解决方案 你可以这样的 public void cc(){ String aa=getHtml(); if(aa!=null){ //这里放下面执行的代码,这样就能等你上面执行完再执行下面的了,你看行

关于delphi7开发中的一个小问题

问题描述 关于delphi7开发中的一个小问题 大家好,因为我是刚刚接触delphi7的开发,我现在有一个需求,比如adoquery1连接了 数据库A表显示数据到dbgrid上,我现在要点击一个button,然后从dbgrid上抽数据处理后再通过 adoquery2 将数据插入数据库的B表,请问能直接拖两组adoquery, 然后在button的click事件里面编码实现么,如果可以的话,能吧主要的代码写下么,谢谢啦! 解决方案 1.在窗体中,设置二组adoquery和datasource分别绑

c++ 编程问题-C++类中的一个小问题,求大神指教

问题描述 C++类中的一个小问题,求大神指教 请问下面两段输出结果一样的代码在内存层面上有什么不同,有点搞不清. 代码1: 1 #include 2 using namespace std; 3 struct Test{ 4 int a; 5 Test(int a){ 6 Test::a=a; 7 } 8 }; 9 int main(){ 10 Test t(100); 11 cout<<t.a<<endl; 12 } 代码2: 1 #include 2 using namespa

android-Android中调用一个小的计时程序?

问题描述 Android中调用一个小的计时程序? 这个程序有对应的Timer_layout.xml,这个布局文件以include的方式放在另外一个xml文件中, 现在想在MainActivity中调用Timer.java中的按钮计时方法,请问怎么调用呀? public class Timer extends Activity implements View.OnClickListener{ <声明部分> protected void onCreate(Bundle savedInstanceS

c语言-C语言中的一个小问题。。

问题描述 C语言中的一个小问题.. short为16位,long为32位,int为16位是什么意思啊?各位大神帮忙解释一下! 解决方案 上面几位回答的都挺好的,简单的说你可以把他们都理解为存储数字的容器.long肯定能装下最多的,int就少, 除此之外, 就是能不能处理小数点后面数字的问题了,集体情况你可已在写代码的时候试一下,加深印象, 解决方案二: 就是说这种编译器下每种数据类型占用存储的大小.16位就是2个字节. 你可以用sizeof(类型)*8得到.每个编译器不同. 比如你这个int是1

Javascript中判断一个值是否为undefined的方法详解_javascript技巧

前言 相信大家都知道当声明一个变量,并且没有给赋值的情况下,它的初始值是undefined.但是在javascript中,怎么检查一个值是否为undefined呢? 简单来说,在现代浏览器中,你可以安全的比较变量是否为undefined if (name === undefined) {...} 一些人反对直接使用undefined变量进行比较,因为在旧的浏览器中允许它的值被重新赋值,比如下面这样: undefined = "test" 在被重新赋值后,使用undefined指令将不能

10个JavaScript中易犯小错误_javascript技巧

在今天,JavaScript已经成为了网页编辑的核心.尤其是过去的几年,互联网见证了在SPA开发.图形处理.交互等方面大量JS库的出现. 如果初次打交道,很多人会觉得js很简单.确实,对于很多有经验的工程师,或者甚至是初学者而言,实现基本的js功能几乎毫无障碍.但是JS的真实功能却比很多人想象的要更加多样.复杂.JavaScript的许多细节规定会让你的网页出现很多意想不到的bug,搞懂这些bug,对于成为一位有经验的JS开发者很重要. 常见错误一:对于this关键词的不正确引用 我曾经听一位喜