关于Ajax的问题

问题描述 投票:0回答:2

我现在正在学习Ajax。下面的代码基本上接收来自 PHP 的 echo,然后将其放入元素 id

games
中。

我的问题是,如果我想让 Ajax 向 3 个不同的 PHP 脚本发送 3 个不同的 HTTP 请求,并且如果我想从每个脚本中检索数据,然后将其放入 3 个不同的元素 id 中,那么我是否会制作同一函数的 3 个副本?我想应该有一种更有效的方法。

function showHint(str) {
    if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById("games").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","hw9.database.php?name="+str,true);
    xmlhttp.send();
}
javascript ajax
2个回答
6
投票

没有必要这样做。您只需参数化该函数即可:

function showHint(elementid,url,str) {

    if (window.XMLHttpRequest) {
        xmlhttp=new XMLHttpRequest();
    } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            document.getElementById(elementid).innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET",url+str,true);
    xmlhttp.send();
}

1
投票

有。使用 JavaScript 框架,如 jQueryPrototype 或任何其他框架。它们都具有内置的 Ajax 功能,使您想要完成的事情变得更加容易。

jQuery Ajax 请求示例:

$('#games').load('hw9.database.php?name=' + str );
© www.soinside.com 2019 - 2024. All rights reserved.