+ -
当前位置:首页 → 问答吧 → 难题 ajax调用问题 高手请回答

难题 ajax调用问题 高手请回答

时间:2009-05-09

来源:互联网


function ajax()
    {
        var xmlhttp=createXMLHttp();
        this.url_str='';//php后台文件
        this.div_id='';//加载的图层id
        this.str='';//传送的数据
        var that=this;
        this.sendto=function()
            {
                xmlhttp.open('POST',this.url_str,true);
                xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                xmlhttp.send(this.str);
            }
        this.show=function()
            {
                xmlhttp.onreadystatechange=function ()
                    {
                        if(xmlhttp.readyState==4)
                            {
                                document.getElementById(that.div_id).innerHTML=xmlhttp.responseText;
                                document.getElementById("newDrag").style.display="block";
                                document.getElementById(that.div_id).style.display='block';
                                bu_re_change();//调用按钮转化设置         //问题是这段 每次调用ajax的时候都要调用这个函数
                                reputation_bgcolor();//调用声望颜色条设置  //问题是这段 每次调用ajax的时候都要调用这个函数
                                scroll_set('reputation');//调用声望滚动条设置  //
                            }      
                    }
                xmlhttp.open('POST',this.url_str,true);
                xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                xmlhttp.send(this.str);
            }
     //如果把他们放在这边来 监听不到ajax数据的元素 没有任何反应 2位置
    }

问题上面已经写了 就是不希望每次调用ajax的时候到用到他们 请问增加个原型可以办的到吗 或是别的什么办法 只要该用的时候就用到他们 最好是增加原型

作者: fudg1211   发布时间: 2009-05-09

这不是完全和jQuery无关么…

你完全不需要自己写这个,用jQuery的$.post或者$.ajax函数,大概7行就能完成你这个对象的作用了…

你非要这么写也行,多加一个变量,例如this.first = true

在处理那3行代码时,判断这个变量,如果为true就执行,且将其设为false;否则跳过这3行

作者: keakon   发布时间: 2009-05-09

htis.first=true??

还是不大明白??
你是说这样的是吗?
if(xmlhttp.readyState==4)
                            {
                                document.getElementById(that.div_id).innerHTML=xmlhttp.responseText;
                                document.getElementById("newDrag").style.display="block";
                                document.getElementById(that.div_id).style.display='block';
                             this.first=true;
                            }    

作者: fudg1211   发布时间: 2009-05-09

相关阅读 更多