呵呵 SF IE搞的是自己的那套 希望在IE8+以后分歧越来越少
解决方案 »
- JS小游戏—蜘蛛纸牌
- 如何在span的title中输出km²,在线等!!!
- IE处理(渲染)FLASH的疑惑。。。。期待高人指教。
- Excel如何实现在IFRAME中打开,并且打开时为打印预览状态
- javascript和jsp能不能实现这样功能:在javascript有个点击触发动作事件再调用函数实现session.setAttribute("")
- js文件中的中文在网页中出现乱码
- checkbox问题。Help!!!!!!在线等
- 急,学习JAVASCRIPT有什么好一点的书?请各位大侠指点一二。我最多只能给36分。
- 关于在邮件中插入Flash动画的问题,24分求解!!!
- easyui datagrid 双击编辑时给 combobox列绑定数据
- 如何得到ListView摸板中的控件?
- js xml selectNodes 左匹配怎么写?
var xmlreq = null;
if (window.XMLHttpRequest) {
// 非Microsoft browsers的情况
xmlreq = new XMLHttpRequest();
} else if (window.ActiveXObject) {
// Microsoft browsers的情况
try {
xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
try {
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlreq = null;
}
}
}
if (xmlreq == null) {
alert("XMLHTTPRequest生成失败了!!O(∩_∩)O哈哈~");
}
return xmlreq;
}
----------------------
问题是IE和FireFox中的
xmlhttp.open("POST","TeamCustomerAjaxPrice.aspx?cth=" + cth + "&iRow="+ iRow,true);
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlhttp.send(null);
xmlhttp.onreadystatechange=function()
{
if ( xmlhttp.readyState==4 || xmlhttp.readyState=='complete' )
{
if("" != xmlhttp.responseText)
{
obj.innerHTML=xmlhttp.responseText;
}
}
}
这些语法是否相同?
readstate
基本不兼容FF
目前最新版的FF不清楚--一直没有用FF
用jquery可以很好的解决你的问题!
{
$.ajax({
type: 'POST',//URL方式为POST
url: 'CustomerAjaxPrice.aspx',//这里是指向登录验证的页面
data:'cth ='+'cth'+'& iRow ='+iRow,//把要验证的参数传过去
dataType:'XML',//数据类型为XML格式的验证
//在发送数据之前要运行的函数
beforeSend:function(){
自己写吧!
},
success:function(xml)
{ }
});
}
//Create xmlHttp project
function CreateXmlHttp()
{
try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) { try { xmlHttp = new XMLHttpRequest(); }
catch (e) { xmlHttp = false; }}}
}
//readyState,status,在FF中有大小写区别
if (xmlHttp.readyState == 4){
if(xmlHttp.status==200)
{
}
}
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
var XMLHttp = {
_objPool: [], _getInstance: function (){
for (var i = 0; i < this._objPool.length; i ++){
if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4){
return this._objPool[i];
}
}
// IE5中不支持push方法
this._objPool[this._objPool.length] = this._createObj();
return this._objPool[this._objPool.length - 1];
}, _createObj: function (){
if (window.XMLHttpRequest){
var objXMLHttp = new XMLHttpRequest();
}else{
var MSXML = ['Microsoft.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var n=0; n<MSXML.length; n++){
try{
var objXMLHttp = new ActiveXObject(MSXML[n]);
break;
}catch(e){}
}
}
// mozilla某些版本没有readyState属性
if (objXMLHttp.readyState == null){
objXMLHttp.readyState = 0;
objXMLHttp.addEventListener("load", function (){
objXMLHttp.readyState = 4;
if(typeof objXMLHttp.onreadystatechange == "function"){objXMLHttp.onreadystatechange();}
}, false);
}
return objXMLHttp;
}, // 发送请求(方法[post,get], 地址, 数据, 回调函数)
sendReq: function (method, url, data, callback){
var objXMLHttp = this._getInstance();
var mode = arguments.length > 4 ? arguments[4] : true;
with(objXMLHttp){
try{
// 加随机数防止缓存
if (url.indexOf("?") > 0){url += "&randnum=" + Math.random();}
else{url += "?randnum=" + Math.random();}
open(method, url, mode);
// 设定请求编码方式
setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
send(data);
if(mode){ //异步则判断readyState状态
onreadystatechange = function (){
if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304)){
callback(objXMLHttp);
}
}
}else{ //同步则直接回调
if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304)){
callback(objXMLHttp);
}
}
}catch(e){alert(e);}
}
}
}
function doPageLoad(){
if(arguments.length == 0){
var url = "../../app/trade/InitPage.asp";
XMLHttp.sendReq("POST", url, "", doPageLoad);
}else{
var xml = arguments[0].responseXML;
//以下略
}
function createXmlHttp(){
var Try={
these: function(){
var returnValue;
for (var i=0; i<arguments.length; i++){
var lambda=arguments[i]; try { returnValue=lambda(); break; } catch(e){}
} return returnValue; } }
var xmlHttp=Try.these(
function() { return new ActiveXObject('Msxml2.XMLHTTP')},
function() { return new ActiveXObject('Microsoft.XMLHTTP')},
function() { return new XMLHttpRequest()}
) || false;
return xmlHttp;
}
需要的时候调用createXmlHttp()就行了xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4){
if (xmlhttp.status==200){
......
}
}
}
ff3 ie7 ie6测试过,基本通用