【问题标题】:Data Populate Through JS Ajax call Issue通过 JS Ajax 调用问题填充数据
【发布时间】:2013-08-20 22:15:55
【问题描述】:

我正在使用 AJAX 调用数据库中的 JavaScript 通过 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 PlugIn 进行检查)

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

【问题讨论】:

  • 所以您总是会收到您期望的数据的响应,但有时该数据不会写入页面?
  • 因为该函数有时会起作用,所以我会查看 sURL 值并检查它的返回结果。
  • @matthewpavkov 是同样的情况
  • @jeff 是的 sURL 是我的 php 文件路径,它在其中返回 xml 响应响应始终出现但有时它显示在 html 页面上有时不是我不明白为什么会发生这种情况我尝试了很多但没有得到什么,为什么会发生这种情况?
  • listview 适用于 jQuery 移动版,我相信。你用的是那个吗?您是否验证过 li 变量始终包含可以添加到文档中的 HTML?使用console.log(li) 确保它具有您期望的数据。发布 li 的内容,以便我们可以看到您尝试添加到此 &lt;ul&gt; 的实际 HTML。

标签: php javascript html ajax web


【解决方案1】:

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

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

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

这被调用并且不存在这样的函数photoSwipe()。这很可能导致 OP 看到的奇怪行为。

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

【讨论】:

  • @mathewpavkov 对此感到抱歉,但您能做到吗?请转到以下链接engineers-web.com/F09/test 用户名是 demo@demo.com,密码是 142536,登录后点击页面底部的 Harvest,然后选择跳过并同样在下一页上单击跳过然后输入一些日期并继续然后在该页面应该有动物列表但同样的问题出现它只显示有时请帮助我解决这个问题我会非常感谢你
  • @user2651088 我无法登录。
  • 立即查看 demo@demo.com 142536
猜你喜欢
  • 2014-10-25
  • 1970-01-01
  • 2011-08-14
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-09
相关资源
最近更新 更多