Php jQuery中中断img src的空格
基本上是标题 我有一个mysql查询:Php jQuery中中断img src的空格,php,jquery,mysql,ajax,backslash,Php,Jquery,Mysql,Ajax,Backslash,基本上是标题 我有一个mysql查询: while ($array = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $jsonData[] = $array; } echo json_encode($jsonData); 一个变量引用一个名为“Argus残余”的值,该值中有空格: 用于将值插入纯文本和图像style='background-image:url(): $(“img#”+char)。单击(函数(){ $(“#charli
while ($array = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$jsonData[] = $array;
}
echo json_encode($jsonData);
一个变量引用一个名为“Argus残余”的值,该值中有空格:
用于将值插入纯文本
和图像style='background-image:url()
:
$(“img#”+char)。单击(函数(){
$(“#charlist”).html(标题
+""
+""
+""
+名称:“+fname+”“+lname+”
+“类:”+spec+“”+role+“”
+""
+""
+“种族:“+种族+”
+等级:“+Rank+”
+""
+""
+高度:“+高度+”
+“重量:”+重量+“”
+""
+""
+“年龄:“+年龄+”
+“出生地:“+出生+”“
+""
+""
+""
+""
+“Bio:
”+Bio+“”
+""
+""
+“宠物”
+""
+""
+""
+名称:“+pname+”
+""
+""
+“物种:“+prace+”
+""
+""
+""
+""
+""
+名称:“+cname+”
+""
+""
+“种类:“+crace+”
+""
+"");
$(“table.none”).hide();
});
除了图像之外,一切都很好。我在文件名和值中都添加了反斜杠,然后它显示得很好。我已经尝试了我能想到的一切,替换MySQL调用中的空格(只是在所有地方添加反斜杠),尝试替换我的jQuery中的字符(要么完全破坏它,要么就是简单不起作用),为这一个实例添加另一个变量,并尝试encodeURIComponent或替换,但没有任何效果,我已经智穷了
我不希望只为背景图像
源URL添加另一列没有空格的值,但如果这就是问题的症结所在,我就这么做,然后说去他妈的
对我做错了什么有什么建议吗?如果你需要任何其他相关信息,让我知道。网站是:点击Windwarkers,然后点击第二行中间的愤怒的紫色小鸡。该图像不存在。如果有,您可以在浏览器上使用以下URL访问: wow.zenakrua.com/images/battlepets/rements%20of%20Argus.png
图像名称错误,或者您需要更改其权限。您没有文件名为Argus.png剩余部分的图像。您想删除这些空格,还是用其他内容替换它们。仅仅向我们展示您所拥有的以及您想要的,将比在一行中发布整个表容易得多。无论如何,您应该坚持使用小写,并且在文件名中不使用空格,因此
char.replace(/\s/g',).toLowerCase()
,根据另一条注释(作为测试,我在文件名和值中添加了反斜杠,当时不是空格)当前位置没有错,但我猜反斜杠导致了加载问题。改为破折号,wow.zenakrua.com/images/battlepets/rement-of-Argus.png。已关闭热链接保护。不管怎样,在我使用反斜杠之前,行为是一样的。我已经尝试了+和-in-place,但仍然无法在jquery中替换它们。您还需要什么其他信息?我可以粘贴整个内容,涉及到两个文件,一个php mysql查询和带有ajax和jquery的实际页面。基本上,我不能在文件名中留空格,也不能加载图像。但是我使用相同的变量来提供文件名和纯文本名(显示得很好)。所以我必须使用破折号或+,并且我需要在json编码后将它们转换为空格,以显示图像文件名,因为变量希望与值匹配。现在,如果我的值中有破折号,则名称框中会显示破折号,文件名也必须是破折号,因为img src和名称框都使用相同的值。通常情况下,您不应该在文件名中使用空格,我建议使用下划线。
。此外,如果您在windows机器上进行测试,那么您应该始终保持文件名的小写,大小写无关紧要,然后您可能会将代码上载到运行linux的Web服务器上,这是区分大小写的,并且您会遇到很多问题,这就是为什么您只需要小写文件名的原因。要做到这一点,只需将空格替换为regexchar.replace(/\s/g,'.'''.').toLowerCase()
,这没有错,但我想反斜杠导致了加载问题。已更改为破折号。已关闭热链接保护。不管怎样,在我使用反斜杠之前,行为是一样的。我已经尝试了+和-in-place,但仍然无法在jquery中替换它们。能否添加一个名为Argus.png的图像(即使用空格而不是破折号,并且没有反斜杠),以便我可以尝试调试该问题?或者你现在需要一种方法将破折号改为空格,这样名称才能正确地显示在文本中吗?就是这样。只需在名称框中输入名称,即可将破折号替换为空格。我在mysql查询中尝试了它,但我只能让它替换所有内容,而不仅仅是一个。这就好像事后我无法更改json一样。在“var pname=value.Pet_Name;”var display_Name=pname.replace(/-/g,”)下添加以下行。这将用空格替换破折号的所有实例,然后在名称框中使用display_Name变量而不是pname变量。这能解决问题吗?它在.html()中也作为pname.replace(/-/g,“”)工作,这是我决定的,以避免额外的一次性变量。
var pname = value.Pet_Name;
$("img#"+char).click(function(){
$("#charlist").html(title
+"<table style='background:#888' width='600px'>"
+"<tr>"
+"<td rowspan='4' height='150px' width='150px' style='background-image: "
+"url(/images/char/"+char+".png)'></td>"
+"<td>Name: "+fname+" "+lname+"</td>"
+"<td>Class: "+spec+" "+role+"</td>"
+"</tr>"
+"<tr>"
+"<td>Race: "+race+"</td>"
+"<td>Rank: "+rank+"</td>"
+"</tr>"
+"<tr>"
+"<td>Height: "+height+"</td>"
+"<td>Weight: "+weight+"</td>"
+"</tr>"
+"<tr>"
+"<td>Age: "+age+"</td>"
+"<td>Birthplace: "+birth+"</td>"
+"</tr>"
+"</table>"
+"<table width='600px'>"
+"<tr>"
+"<td>Bio:<br />"+bio+"</td>"
+"</tr>"
+"</table>"
+"Pets"
+"<table class='"+pname+"' width='300px'>"
+"<tr>"
+"<td rowspan='2' height='150px' width='150px' style='background-image: "
+"url(/images/pets/"+pname+".png)'></td>"
+"<td>Name: "+pname+"</td>"
+"</tr>"
+"<tr>"
+"<td>Species: "+prace+"</td>"
+"</tr>"
+"</table>"
+"<table width='300px'>"
+"<tr>"
+"<td rowspan='2' height='150px' width='150px' style='background-image: "
+"url(/images/battlepets/"+cname+".png)'></td>"
+"<td>Name: "+cname+"</td>"
+"</tr>"
+"<tr>"
+"<td>Species: "+crace+"</td>"
+"</tr>"
+"</table>");
$("table.none").hide();
});