好的,所以我有一个看起来像这样的AJAX调用(省略了非重要的代码):
function updateChat(){
var userAvatar = $('.user-avatar').val();
$.ajax({
type: "POST",
url: "index.php",
data:{
"AJAX": 'support-chat-process'
},
dataType: "JSON",
success: function(data){
var append ='somehtml';
alert(userAvatar); // works!
append += '<img src="' + userAvatar + '" height="30" width="30">';
append += '<p>'+userAvatar+'</p>'; // also works!
$('body').append(append);
}
});
}
正如您所看到的,我正在尝试从变量中的隐藏输入字段中获取值,该变量将向文档添加HTML IMG标记。
我从该字段获得的值(我放入userAvatar)是正确的。在故障代码之前和之后警告变量也会输出正确的字符串。
如果我将变量放在<p>
标签内,它也会起作用。
然而,当我将变量添加到IMG src时,我将src中的'undefined'添加到文档中。
那么在我的html中它看起来像这样:
<img src="undefined" height="30" width="30">
我不知道为什么,任何想法?除了这里显示的代码之外,我还没有触及变量。
答案 0 :(得分:0)
好的,我已经找到了原因。我在代码中有一个if / else语句,由于输入错误,它调用了错误的变量。我了解到下次我最好不要遗漏代码,我认为这不是必要的。