将此作为ajax搜索页面的一部分
index . php
$(document).ready(function(){
$('#user').keyup(function(){
var query = $(this).val();
if(query != '')
{
$.ajax({
url:"search.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#postList').fadeIn();
$('#postList').html(data);
}
});
}
});
});
search.php
$output .= '<div class="bild"><img src="'.$row["URL"].'" width="200" height="300" alt="'.$row["Titel"].'" onError="this.onerror=null;this.src="loading.jpg";"/></div>';
$output .= '</div>';
问题是,我得到一个空间在index.php当我激活它
this.src=" loading.jpg"
谁有任何好的解释为什么这是,我也很高兴,如果有人能让我在正确的道路上:)
感谢输入图片描述
需要腾出空间…
this.src="loading.jpg"
双引号中有双引号,将其中一个改为单引号或转义:
onError="this.onerror=null;this.src="loading.jpg";"
试着这样做:
onError="this.onerror=null;this.src="loading.jpg";"
或:
onError="this.onerror=null;this.src='loading.jpg';"
或:
onError="this.onerror=null;this.src='loading.jpg';"
它们中的一个应该修复它,只是用你的代码试试哪个是最好的。
load .jpg的引号没有转义,因此它将load .jpg视为div标签的属性,而不是this的src参数。将loading.jpg周围的引号替换为'
,它应该可以工作。
我在一个交互式PHP shell中快速键入了这个示例,以向您展示效果。
首先你的结果是什么(你看到loading.jpg是不同的颜色突出显示):
php > $output = '<div class="bild"><img src="'.$row["URL"].'" width="200" height="300" alt="'.$row["Titel"].'" onError="this.onerror=null;this.src="loading.jpg";"/></div>';
php > echo($output);
<div class="bild"><img src="http:demo.com" width="200" height="300" alt="Demo" onError="this.onerror=null;this.src="loading.jpg";"/></div>
现在我的修复:
php > $output = '<div class="bild"><img src="'.$row["URL"].'" width="200" height="300" alt="'.$row["Titel"].'" onError="this.onerror=null;this.src='loading.jpg';"/></
div>';
php > echo($output);
<div class="bild"><img src="http:demo.com" width="200" height="300" alt="Demo" onError="this.onerror=null;this.src='loading.jpg';"/></div>