首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用相同的Ajax函数将内容返回到多个div

使用相同的Ajax函数将内容返回到多个div
EN

Stack Overflow用户
提问于 2014-06-24 06:13:46
回答 1查看 52关注 0票数 0

我们有一个js ajax调用,我们使用它来拉取内容,并将它们放在页面上的不同div中。

我们一直在为每个调用创建一个新函数,但希望对所有调用只使用一个函数。在尝试这样做时-它只更新请求的最后一个div位置。

以下是请求:

代码语言:javascript
复制
<script type="text/javascript">
        sendRequestFS('http://ourdomain.com/somepage.html', 'csad');
        sendRequestFS('http://ourdomain.com/somepage1.html', 'fsad');
        sendRequestFS('http://ourdomain.com/somepage2.html', 'tilead');
    </script>

页面上的div:

代码语言:javascript
复制
<div id = 'csad'>CS Here</div>
<div id = 'fsad'>FS Here</div>
<div id = 'tilead'>Tiles Here</div>

我们正在使用的函数...有没有办法每次都使用这个相同的函数?

代码语言:javascript
复制
function createRequestObjectFS() 
{
    var returnObj = false;

    if(window.XMLHttpRequest) {
        returnObj = new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        try {
            returnObj = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
            try {
            returnObj = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
            }

    }
    return returnObj;
}
var httpFS = createRequestObjectFS();
var targetFS;
// This is the function to call, give it the script file you want to run and
// the div you want it to output to.
function sendRequestFS(scriptFileFS, targetElementFS)
{   
    targetFS = targetElementFS;
    try{
//      alert ("RQFS File: " + scriptFileFS + " Target : " + targetElementFS);
    httpFS.open('get', scriptFileFS, true);
    }
    catch (e){
    document.getElementById(targetFS).innerHTML = e;
    return;
    }
    httpFS.onreadystatechange = handleResponseFS;
    httpFS.send();  
}
function handleResponseFS()
{   

    if(httpFS.readyState == 4) {        
    try{
    //    alert ("HRQFS");
        var strResponseFS = httpFS.responseText;
        document.getElementById(targetFS).innerHTML = strResponseFS;
        } catch (e){
        document.getElementById(targetFS).innerHTML = e;
        }   
    }
}
EN

回答 1

Stack Overflow用户

发布于 2014-06-24 10:53:28

我重新排列了您的函数以使其正常工作:http://jsfiddle.net/q2Za2/1/

代码语言:javascript
复制
function createRequestObjectFS() 
{
    var returnObj = false;

    if(window.XMLHttpRequest) {
        returnObj = new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        try {
            returnObj = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
            try {
            returnObj = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
            }

    }
    return returnObj;
}

// This is the function to call, give it the script file you want to run and
// the div you want it to output to.
function sendRequestFS(scriptFileFS, targetElementFS)
{   
    var httpFS = createRequestObjectFS();
    var targetFS;
    function handleResponseFS()
    {   

        if(httpFS.readyState == 4) {        
            try {
                //alert ("HRQFS");
                var strResponseFS = httpFS.responseText;
                document.getElementById(targetFS).innerHTML = strResponseFS;
            } catch (e){
                document.getElementById(targetFS).innerHTML = e;
            }   
        }
    }
    targetFS = targetElementFS;
    try{
//      alert ("RQFS File: " + scriptFileFS + " Target : " + targetElementFS);
    httpFS.open('get', scriptFileFS, true);
    }
    catch (e){
    document.getElementById(targetFS).innerHTML = e;
    return;
    }
    httpFS.onreadystatechange = handleResponseFS;
    httpFS.send();  


}


sendRequestFS('https://r3dux.com/test_files/1.php', 'csad');
sendRequestFS('https://r3dux.com/test_files/2.php', 'fsad');
sendRequestFS('https://r3dux.com/test_files/3.php', 'tilead');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24375429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档