通过JS Ajax调用问题填充数据

Data Populate Through JS Ajax call Issue

本文关键字:填充 数据 问题 调用 JS Ajax 通过      更新时间:2023-09-26

我使用AJAX通过JavaScript从数据库中填充HTML页面上的数据有时它会正确填充,有时不会

HTML部分

<body>
    <div data-role="page" id="properties">
        <div data-role="content" class="hs-content">
            <div class="container_12">
                <div class="basic-info content-wrap">
                    <div class="skip-line"><h3>Select your weapon</h3></div>
                    <ul data-role="listview" data-inset="true" id="weaponList"></ul>
                </div>
            </div>
        </div>
    </div>
</body>

JavaScript

getWeaponsList : function()
{
    var sUrl = "weapons.php";
    WS.request( sUrl,null,'POST', successHandlerUC, failureHandlerUC, false );
    function successHandlerUC( o )
    {
        $('#weaponList').empty();
        var li = '';
        var response = WS.getResponseXML( o );
        // Getting Weapons From DataBase
        var weapons = response.getElementsByTagName('weapon');
        //alert("Total Weapon : "+weapons.length);
        for (var i = 0; i < weapons.length; i++)
        {
            var weapon = weapons.item(i);
            var id = weapon.getElementsByTagName('id');
            id = $(id.item(0)).text();
            var name = weapon.getElementsByTagName('name');
            name = $(name.item(0)).text();
            li += '<li id="'+id+'";><a href="animal-data.html" onClick="HarvestData.saveWeapon('+id+','''+name+''')"><span><img title="swords" src="images/bow.png"></span>'+name+'</a></li>';
        }
        $('#weaponList').append(li);
        $('ul#weaponList').listview('refresh');
    }
    function failureHandlerUC( o )
    {
    }
}

有时它会在html页面上显示所有数据,但有时它不会在页面上显示任何数据,但在这两种情况下,数据都来自响应(在Firefox中使用FireBug和Web Developer插件进行检查)

错误或任何其他问题是什么??感谢提前

我认为您面临的主要问题是由于额外的JavaScript代码(未在问题中发布)导致了错误,从而导致了问题中讨论的问题。您发布的代码应该按原样工作(只要HTML被附加)。

我相信这条线是罪魁祸首:

$("#gallerypopup a").photoSwipe(options);

正在调用此函数,但不存在这样的函数photoSwipe()。这很可能是OP看到的奇怪行为的原因。

这里的底线是,您需要调试您的代码。如果存在与您看到的问题"无关"的错误,请首先修复该错误。然后看看你是否还有问题。