1

好的,所以我有一个看起来像这样的 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 中得到“未定义”。

那么在我的html中它看起来像这样:

      <img src="undefined" height="30" width="30">

我不知道为什么,有什么想法吗?除了我在这里显示的代码之外,我没有触及变量。

4

1 回答 1

0

好的,我已经找到原因了。我在代码中有一个 if/else 语句,由于拼写错误,它调用了错误的变量。我了解到,下次我最好不要遗漏我认为在问题中没有必要的代码。

于 2013-10-26T17:03:59.390 回答