【发布时间】: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的内容,以便我们可以看到您尝试添加到此<ul>的实际 HTML。
标签: php javascript html ajax web