我如何将数据从随后的php传递回ajax?
PHP
$query = 'SELECT * FROM picture order by rand() LIMIT 10'; $result = mysql_query($query); while ($rec = mysql_fetch_array($result, MYSQL_ASSOC)) { $url[]=$rec['pic_location']; $name[]=$rec['name']; $age[]=$rec['age']; $gender[]=$rec['gender']; } echo json_encode($url); echo json_encode($name); echo json_encode($age); echo json_encode($gender);
ajax
$(".goButton").click(function() { var dir = $(this).attr("id"); var imId = $(".theImage").attr("id"); $.ajax({ url: "viewnew.php", dataType: "json", data: { current_image: imId, direction : dir }, success: function(ret){ console.log(ret); var arr = ret; alert("first image url: " + arr[0][0] + ", second image url: " + arr[0][1]); // This code isnt working alert("first image Name: " + arr[1][0] + ", second image name: " + arr[1][1]); $(".theImage").attr("src", arr[0]); if ('prev' == dir) { imId ++; } else { imId --; } $("#theImage").attr("id", imId); } }); }); }); </script>
我的问题是如何在此处显示值?警报消息给我“未定义”?
您可以按照以下方式进行操作。
$query = 'SELECT * FROM picture order by rand() LIMIT 10'; $res = mysql_query($query); $pictures = array(); while ($row = mysql_fetch_array($res)) { $picture = array( "pic_location" => $row['pic_location'], "name" => $row['name'], "age" => $row['age'], "gender" => $row['gender'] ); $pictures[] = $picture; } echo json_encode($pictures);
... $.ajax({ ... dataType: "json", ... success: function(pictures){ $.each(pictures, function(idx, picture){ // picture.pic_location // picture.name // picture.age // picture.gender }); } }); ...