检索到的数据请到通过整个代码JSON响应数据
这是我的MySQL表:
mysql> select imgurl from images where family="shoes";
+-------------------------------+
| imgurl |
+-------------------------------+
| images/zara/shoes/thumbnail |
| images/hermes/shoes/thumbnail |
| images/hermes/shoes/thumbnail |
| images/hermes/shoes/thumbnail |
+-------------------------------+
从上表IM检索图像的URL与这个jQuery代码:
$(document).ready(function() {
$('ul.sub_menu a').click(function() {
$('#sliderid, .prodcls').fadeOut(4000);
var txt = $(this).text();
$.ajax({
type: 'POST',
url: 'thegamer.php',
data: {send_txt: txt},
datatype:'json',
success: function(data){
$('#pgwrapid').html(data);
}
});
});
});
这是PHP代码,其从jQuery AJAX请求得到:
<?php
//Credentials
$server = "localhost";
$user = "root";
$db = "lemonx";
//Connect
$link = mysql_connect($server, $user);
//Select database
mysql_select_db($db, $link);
//Assemble query
$family = mysql_real_escape_string($_REQUEST['send_txt'], $link);
$query = "SELECT imgurl FROM images WHERE family='$family'";
//Query database
$result = mysql_query($query, $link);
//Output result, send back to ajax as var 'response'
$imgurl=array();
$i=0;
if(mysql_num_rows($result) > 0){
//Fetch rows
while($row = mysql_fetch_array($result)){
$imgurl[$i] = $row['imgurl'];
//echo $imgurl[$i];
$i+=1;
}
}
echo json_encode($imgurl);
?>
现在,会发生什么,这是输出在下面的jQuery选择:
$('#pgwrapid').html(data);
输出
["images\/zara\/shoes\/thumbnail","images\/hermes\/shoes\/thumbnail","images\/hermes\/shoes\/thumbnail"]
我的问题是:
- 为什么反斜杠这里?
是否有任何代码遍历上面的输出,并提取每个路径,并将其插入图像标签是这样的:
$('#pgwrapid').append("<img src='"imagepath"' alt='Thumbnail'/>");
代码将是有用的。
不知道反斜杠是怎么回事,但就创建新''元素而言,如果data是一个数组,然后使用'for'循环或jQuery [泛型迭代器函数'$。 each()'](http://api.jquery.com/jQuery.each/)每次处理一个数组的元素。 – nnnnnn 2012-01-09 04:46:07
我用alert(typeof(data))检查了它;它给出字符串 – sajid 2012-01-09 04:49:42
你有一堆已经回答的问题,显然对你有帮助,但是你没有[接受](http://u.sbhat.me/t6SXUH)。其他人也许不会倾向于帮助你。 – Sathya 2012-01-09 04:59:56