我在这里使用 AJAX 和 PHP 检索数据库的值。我在数据库中存储了 photos/image1.jpg 等图像的路径。从数据库中检索数据并将它们发回时,数据不会打印回来,因为其中有反斜杠或正斜杠。那么在使用 AJAX 时将数据发送回包含特殊字符的主页的过程是什么?
我的 JavaScript 代码:
function getdata(eve)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("grayscreen").innerHTML=xmlhttp.responseText;
} }
xmlhttp.open("GET","picdetails.php?q="+eve,true);
xmlhttp.send();
我的 PHP 代码
<?php
include 'config.php';
$query2="select * from Sampletable where sublabel= '".$_GET['q']."'";
$query=mysql_query($query2);
if(mysql_num_rows($query)>0)
{
$count=0;
while($res= mysql_fetch_array($query))
{
if($count==0)
{
$ans= "<img src=". $res['image']."\>";
echo $ans;
}
else {
echo "<img src=".$res['image']." style='display:none'/>";
}
$count=$count+1;
}
}
?>
这里的$res['image']是图片的路径,如images/image1.jpg,将从数据库中获取。
屏幕上的输出是
"<img src="\\">"<img src="style='display:none'/">
但输出应该是
<img src="images/images1.jpg"/> <img src="images/images2.jpg" style='display:none'/>
问题是从 images/images1.jpg 和 images/images2.jpg 中检索的数据没有得到回显,因为它有前斜线。
如何打印该数据?
最佳答案
改变:
$ans= "<img src=". $res['image']."\>";
收件人:
$ans= '<img src="'. $res['image'] .'"/>';
这应该有效。
希望对您有所帮助!
关于javascript - 如何使用 AJAX 将包含反斜杠和前斜杠的字符串从 PHP 查询页面传回 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19479936/