为什么 ajax 不会填充我的 ul 列表
Why ajax won't populate my ul list?
所需要的是ul列表填充来自php代码的数据,在页面加载时。提前感谢,对不起,如果我不准确,我是新来的。这篇文章主要是代码。
这是 ajax 函数的代码:
$(document).ready(function() {
var podtip="proba";
$.ajax({
url: 'php/dodajTVpocetna.php',
type: 'POST',
cache:false,
data: { target: podtip },
success: function (data) {
$('#slider ul').append(data);
}
});
});
这是 php 文件的代码:
$q = $_POST['target'];
$conn=mysqli_connect("localhost","root","","iptv");
if (mysqli_errno($conn)) {
die("Neuspjela konekcija: " . mysqli_connect_error());
}
else{
$upitM='SELECT * FROM stream WHERE Kategorija="Music" ORDER BY rand() LIMIT 0,1';
$music=mysqli_query($conn,$upitM);
$upitF='SELECT * FROM stream WHERE Kategorija="Movies" ORDER BY rand() LIMIT 0,1';
$film=mysqli_query($conn,$upitF);
$upitS='SELECT * FROM stream WHERE Kategorija="Series" ORDER BY rand() LIMIT 0,1';
$series=mysqli_query($conn,$upitS);
$upitN='SELECT * FROM stream WHERE Kategorija="News" ORDER BY rand() LIMIT 0,1';
$news=mysqli_query($conn,$upitN);
$upitMO='SELECT * FROM stream WHERE Kategorija="More" ORDER BY rand() LIMIT 0,1';
$more=mysqli_query($conn,$upitMO);
if(!$music)echo'greska je "'.mysqli_error($conn).'"';
while(($row = mysqli_fetch_assoc($music)) != NULL) {
$row1 = mysqli_fetch_assoc($news);
$row2 = mysqli_fetch_assoc($film);
$row3 = mysqli_fetch_assoc($series);
$row4 = mysqli_fetch_assoc($more);
print_r(error_get_last());
echo"<li><div class='"tv'"><a href='javascript:changeVideoJW('"".$row['Link']."'");'>".$row['Naziv']."</a></div></li>
<li><div class='"tv'"><a href='javascript:changeVideoJW('"".$row1['Link']."'");'>".$row1['Naziv']."</a></div></li>
<li><div class='"tv'"><a href='javascript:changeVideoJW('"".$row2['Link']."'");'>".$row2['Naziv']."</a></div></li>
<li><div class='"tv'"><a href='javascript:changeVideoJW('"".$row3['Link']."'");'>".$row3['Naziv']."</a></div></li>
<li><div class='"tv'"><a href='javascript:changeVideoJW('"".$row4['Link']."'");'>".$row4['Naziv']."</a></div></li>";
}
mysqli_close($conn);
}
网页列表:
<div class="w3-third">
<div id="liquid1" class="liquid">
<span class="previous"></span>
<div class="wrapper">
<ul id="slider">
</ul>
</div>
<span class="next"></span>
</div>
</div>
我以前使用过ajax,它以这种方式工作。
首先检查你的查询,返回值并正常工作:
print_r($film)
和其他查询结果,以查看最后会发生什么。
接下来你不需要使用
$('#slider ul').append(data);
使用这个:
$('#slider').append(data);
用这个更改你的PHP代码:
$q = $_POST['target'];
$conn=mysqli_connect("localhost","root","","iptv");
if (mysqli_errno($conn)) {
die("Neuspjela konekcija: " . mysqli_connect_error());
}
else{
$upit='SELECT * FROM stream WHERE Kategorija in ("Music","Movies","Series","News","More") ORDER BY rand()';
$all=mysqli_query($conn,$upit);
if(!$all)echo'greska je "'.mysqli_error($conn).'"';
//uzimamo vrijednosti svih proizvoda za zadati podtip,smjestamo ih u div elemente i prikazujemo na pocetno
$ht = "";
while(($row = mysqli_fetch_assoc($all)) != NULL) {
print_r(error_get_last());
$ht .= "<li><div class='"tv'"><a href='javascript:changeVideoJW('"".$row['Link']."'");'>".$row['Naziv']."</a></div></li>";
}
mysqli_close($conn);
echo $ht;
}
和你的js代码:
$(document).ready(function() {
var podtip="proba";
$.ajax({
url: 'php/dodajTVpocetna.php',
type: 'POST',
cache:false,
data: { target: podtip },
success: function (data) {
$('#slider').append(data);
}
});
});
您必须通过结果集行累积每次迭代的最终HTML
内容。
更改while
循环,如下所示:
$content = "";
while(($row = mysqli_fetch_assoc($music)) != NULL) {
$row1 = mysqli_fetch_assoc($news);
$row2 = mysqli_fetch_assoc($film);
$row3 = mysqli_fetch_assoc($series);
$row4 = mysqli_fetch_assoc($more);
//print_r(error_get_last());
$content .= "<li><div class='"tv'"><a href='javascript:changeVideoJW('"".addcslashes($row['Link'],'"')."'");'>".addcslashes($row['Naziv'],'"')."</a></div></li>";
}
echo $content;
将dataType
选项添加到 ajax 请求对象中,以HTML
从服务器获取响应:
...
dataType : 'html',
...
此外,将响应数据追加为 HTML,如下所示:
...
$('#slider ul').html(data);
...
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 我的单元测试选项是什么
- 注入html标记<ul></ul>在我的<李></李>元素
- 我的Javascript(用于在ul中重新排序li)在IE中不起作用
- 如何在一个索引不等于2的ul中获取li,我知道如何获得索引gt或lt 2
- 为什么当我对其父元素进行动画处理时,我的 UL 消失了
- 为什么 ajax 不会填充我的 ul 列表
- 我已经在我的ul中添加了一个li,虽然它可以工作,但它会导致错误
- 为什么我的网页上这个UL的链接和文本消失了
- 单击它们时无法在ul中打开我的href
- 我的JS选择器用于<ul>不起作用
- 我需要把我的LI数组元素放到UL中,但我不能
- 我如何改变我的脚本输出ul而不是选择选项
- 我有一个有5个li的ul,两边各有两个li,然后我要做下面的操作
- 定义我的导航的JSON有标题类型和类别类型;d希望转换为Javascript中的嵌套UL LI元素
- 当我将它们与jQuery一起使用时,我的ul中的元素消失了
- 我如何保持我的ul元素消失时,它被单击
- 如何获得我的ul元素的高度?在没有jQuery的AngularJS中
- jQuery的ul事件目标-我可以找到li,实际上是事件目标