我正在尝试使用jquery ajax将数据发送到PHP.问题出在下面的代码中.
(你可以忽略PHP)
HTML
<ul class="blah">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<div class="result"></div>
JQUERY
$(".blah li").each(function(){
var each_li = $(this).text();
});
$.ajax({
url: 'select-query.PHP',
method: 'POST',
data: {li_variable: each_li},
success: function(response){
$('.result').html(response);
}
});
each_li只返回ajax函数中的一个值.我可以在每个函数中放置ajax,但对于每个li元素,它执行ajax调用.如何将所有li值赋予ajax数据&只调用一次ajax.
PHP(选择-query.PHP)
<?
$query = "SELECT username FROM table WHERE id = '".$_POST['li_variable']."'";
$query_run = MysqLi_query($connect,$query);
while($query_array = MysqLi_fetch_assoc($query_run)){
echo $query_array['username'];
}
?>
解决方法:
您可以将数据推送到数组中,然后在ajax请求中发送它,如下所示:
var each_li = [];
$(".blah li").each(function(){
each_li.push($(this).text()); //pushing the data in js array
});
$.ajax({
url: 'select-query.PHP',
method: 'POST',
data: {li_variable: each_li},
success: function(response){
$('.result').html(response);
}
});