首先让我为令人困惑的标题道歉,我不太确定如何用我的情况说出来,这有点复杂。
用图像解释的情况。
1。)首先我有一个来自php的JSON数据的while循环(它包含多个userid等)。 2.)Ajax获取这些数据并将它们放入html,每个id都有一个按钮。 3.)当点击按钮时,它将该特定id发送给另一个php。
我不知道如何从ajax获取数据[i] .userid和data [i] .listingid并再次发送出去。 谢谢你的时间
图像
首先是php
$result=mysqli_query($con,"SELECT * FROM list WHERE Listingid = '$Listingid' AND Status ='Bird'");
while($row = mysqli_fetch_array($result))
{
$output[] = $row;
}
if (!empty($output)){
echo json_encode( $output );}
else{
echo json_encode( [] );
}
的Javascript
<script>
function gup( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return null;
else
return results[1];
}
var frank_param1 = gup( 'Listingid' );
$("#display12").append(frank_param1);
console.log(frank_param1)
$.ajax({
type: "POST",
url: "list.php",
data: {"data":frank_param1},
dataType:'json',
success: function(data){
for(var i=0; i<data.length; i++) {
console.log(data)
var html1 = "<div class=two> Listingid : " + data[i].Listingid + "User id : " + data[i].userid + "</div>" +
"<a id =newListing class=btn btn-success btn-lg1 type=button style=width:140px; href=#noteform data-toggle =modal >"+"submit "+"</a>"
;
$('#display12').append(html1);
}}
});
</script>
答案 0 :(得分:0)
成功回调中的数据变量应该包含来自PHP的数据。您有JSON使用PHP编码数据,因此如果要打印实际数据或其他内容,则必须decode that JSON。如果你只是想将它转发到其他脚本 - 你可以在成功回调中创建一个新的ajax请求,只需将编码数据填入其中而不解码它。
解码JSON字符串后,它应该在JavaScript中作为$ output-array出现,你可以循环遍历它。
至于PHP,我并不完全记得$ output [] = $ row是否意味着将行推入数组,但不管我是否会使用array_push()函数来执行此操作。