我尝试将来自PHP和MySQL脚本的json编码数据传递回带有ajax脚本的页面。数据将有多行,即row1,row2等。我将数据传回页面,并希望在继续第二行之前解决第一行/第一行,依此类推。但我甚至无法解决一个问题。不仅网址看起来很奇怪而且#34; (而不是斜杠/我看到反斜杠和斜杠/),但如果我解决数据[1]或其他问题,我甚至无法获得单一结果。我过去曾尝试过几个帖子中的几个解决方案而没有任何成功。
这里的PHP部分工作正常:
$data = array();
$query = "SELECT * FROM `episode_elements` WHERE eid = 1 ORDER BY rank";
$result = mysqli_query($con, $query);
$data = array();
while($row = mysqli_fetch_array($result))
{
//echo $row['audio'];
//printf ("%s (%s)\n",$row[0],$row[1],$row[2],$row[3],$row[4]);
$data[0] = $row['audio'];
$data[1] = $row['image'];
$data[2] = $row['text'];
$data[3] = $row['rank'];
print json_encode($data);
}
从这个脚本中获得结果显示了一个很好的结果:
["http:\/\/www.nasa.gov\/mp3\/581097main_STS-1_Dust-it-Off.mp3","https:\/\/cdn.pixabay.com\/photo\/2011\/12\/14\/12\/11\/astronaut-11080_960_720.jpg","NASA","1"]
["http:\/\/www.mostfreebies.com\/PatrioticNostalgicMusic\/music\/USAFB_TheStarSpangledBanner.mp3","https:\/\/cdn.pixabay.com\/photo\/2013\/01\/16\/05\/08\/flag-75047_960_720.jpg","Star Spangled Banner","2"]
但是你已经可以看到反斜杠了。但是当我将数据传回我的脚本时,我无法访问它。我看不到数据[0]或数据[1] [1]。
我该如何解决?坦率地说,JS和Ajax让我发疯。
function load_data(limit, start)
{
$.ajax({
url:"episode_content_load.php",
method:"POST",
dataType: 'json',
data:{limit:limit, start:start},
cache:false,
success:function(data)
{
$('#load_data').append(data);
alert(data[1]);
}
});
}
虽然 $('#load_data')。追加(数据); 如果我不添加行数据类型,则可以使用:JSON,警报(数据) [1]); 没有向我显示任何内容。这很令人困惑,因为它似乎适用于类似职位的其他人。
如果您有任何想法,请告诉我。提前谢谢。
答案 0 :(得分:0)