欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

ajax 回调函数callback的重用有关问题

更新时间: 2014-01-05 01:53:35 责任编辑: Author_N1

 

Ajax 回调函数callback的重用问题
当我想重用callback的时候出现问题了
还是依然反馈回来的是第一个绑定的callback
麻烦帮小弟看一下 十分感谢啦
代码如下: 
function doclick() {
        var url = "validate2.do?id=" + test + "&id2=" + test2;
        if (window.XMLHttpRequest) {

            req = new XMLHttpRequest();
        } else if (window.ActiveXObject) {

            req = new ActiveXObject("Microsoft.XMLHTTP");
        }
        req.open("GET", url, true);
        req.onreadystatechange = function () { callback('doclick1'); }
        req.send(null);
    }
    function callback(p) {

        if (req.readyState == 4 && req.status == 200) {
            var check = req.responseText; //查看接收到的后台传过来的html命令 
            alert("看看接收到的p是多少"+p);  //此句最后无论怎么 接收到的永远是doclick 而接收不到doclick2
            show(check,p);

        };
    }
    function show(str,p) {
        //////
        if (p == 'doclick') {
            var show = str;
            document.getElementById("status1").innerHTML = show;

            if (str == "Disconnect") {
                var show = "<img src=\"images/failed.gif\" height=\"16\" width=\"16\">&nbsp<font color='red'> Sorry, Disconnect! Please reconnect.</font>";
                document.getElementById("status1").innerHTML = show;

            } else if (str == "TIMEOUT") {
                var show = "<img src=\"images/failed.gif\" height=\"16\" width=\"16\">&nbsp<font color='red'> Sorry, Connection time out!</font>";
                document.getElementById("info").innerHTML = show;
            } 
            doclick(); //收到数据后继续执行doclick事件继续监听后台
        }
        else if (p == 'doclick2'){ //另外的点击事件
            var show = str;
            document.getElementById("status1").innerHTML = show;

            if (str == "Disconnect") {
                var show = "<img src=\"images/failed.gif\" height=\"16\" width=\"16\">&nbsp<font color='red'> Sorry, Disconnect! Please reconnect.</font>";
                document.getElementById("status1").innerHTML = show;

            } else if (str == "TIMEOUT") {
                var show = "<img src=\"images/failed.gif\" height=\"16\" width=\"16\">&nbsp<font color='red'> Sorry, Connection time out!</font>";
                document.getElementById("info").innerHTML = show;
            }
        }
    }

    function doclick2() {

        var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td
        var url = "validate2.do?id3=" + td.id + "&id4=" + td.name;
        alert(td.id + td.name);
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:53:35
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/2651/
本文WWW.DOC100.NET DOC100.NET版权所有。