空格导致我的javascript显示不正确(修剪输出)
spaces are causing my javascript to display incorrectly (trims the output)
我不知道这是否是JavaScript, jQuery或JSON的问题,但是当我在任何数据条目(见下面的var title1)中使用空格时,空格后的一切都被省略。也许数据必须以某种方式编码?我试着使用&,而不是实际的空格。
为了简单起见,我试图删除任何与此问题无关的代码。
html、javascript:
<div id="verification"></div>
<script>
function update() {
$.ajax({
url: 'update.php', //php
data: "",
dataType: 'json',
success: function (data) {
//on receive of reply
var title1 = data[2];
$('#verification').html("<img src=images/data-image.gif title="+title1+"></img>"); //output to html
}
});
}
</script>
json响应
["这是一个很长的测试,有123个数字和字母。*。测试")
输出
php* * * * * * * * * * *
$result = mysql_query("SELECT title1 FROM users WHERE username = '$foobar'")
or die(mysql_error());
$array = mysql_fetch_row($result);
echo json_encode($array);
如果在属性定义中缺少引号,则最终的HTML字符串将以如下方式结束:
<img src=images/data-image.gif title=this is a really long test that has 123 numbers and letters. * . test></img>
,这就是title
属性中只显示第一个单词的原因。为了避免转义问题,我建议使用jquery创建元素,如:
var $img = $('<img>').attr('src', 'images/data-image.gif').attr('title', title1);
$('#verification').append($img);
您的title属性将不带引号结束。任何时候,属性不是字母数字字符,就必须加引号。试一试:
$('#verification').html("<img src=images/data-image.gif title='"+title1+"'></img>");
相关文章:
- 在JavaScript中输出转义字符
- 如何在jQuery中将函数的输出分配给变量
- 除修剪外的其他功能
- Javascript,输出结果后页面不断刷新
- 为什么我得到错误IE修剪方法是't支持
- Datetime格式为Friendly Time.Moment JS输出错误
- 如何将angularjs中的javascript字符串输出为循环数组
- HTML5FileReader输出到D3.js图表
- console.log以外的Javascript输出函数
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- PHP中的数组输出
- 以不同的顺序输出数据
- 使用Rivets.js输出类
- 在Chrome扩展内部输出Google API调用
- 如何为d3.js图表输出组织/嵌套数据
- 将IndexedDB中的数据拉入数组,并通过ReactJS输出
- 一个ajax循环有两个输出错误innerHTML
- 快速排序程序未正确输出
- 函数将输出nan而不是数字,为什么
- 空格导致我的javascript显示不正确(修剪输出)