定义的变量在错误控制台中显示为未定义

时间:2011-11-17 20:15:50

标签: javascript variables

我有一个通过ajax搜索数据库表的函数 这是函数

function find_file(query)
    {
        var xtoken = $("input[name='xtoken']").val();
        var uri = site_url+'admin/media/search';
        //make request to controller method
        $.get(uri,{ 'xtoken' : xtoken,'query':query },
        function(data) {
            var dataLength = data.length;
            if(dataLength < 1)
            {
                $.gritter.add({title:'Notice',text:'No matching results',sticky:false,time:'3000'});
            }else {
                var dataGrid = $('#files table tbody');
                dataGrid.html('');
                $.each(data,function(index,file)
                {
                    var media_thumbnail ="";
                    if((file.file_type == "image/jpeg") || (file.file_type == "image/png") || (file.file_type == "image/png"))
                    {
                        media_thumbnail = '<img src="'+file.file_path+'" height="60" width="46" />';
                    }
                    if((file.file_type == "audio/mp3") || (file.file_type == "audio/wma"))
                    {
                        media_thumbnail = '<img src="'+site_url+'assets/admin/audio.png" />';
                    }
                    dataGrid.append(
                        '<tr class="files" id="'+file.file_id+'">'+
                            '<td><input id="file_id" type="checkbox" name="file_id[]" value="'+file.file_id+'" /></td>'+
                            '<td>'+
                                '<div class="media_preview">'+media_thumbail+'</div>'+
                                '<a href="'+site_url+'admin/media/editmedia/'+file.file_id+'">'+file.file_name+'</a>'+
                            '</td>'+
                             '<td>'+file.file_type+'</td>'+
                             '<td>'+file.author+'</td>'+
                             '<td>'+file.upload_date+'</td>'+
                        '</tr>'
                    );
                });
            }
        });
    }

当代码执行时,即使我将变量声明为空“var media_thumbnail = "";”,我也会收到错误,说明var media_thumbnail未定义 在从ajax调用的JSON返回测试对象之后设置var media_thumbail的值 看到代码的这一部分

var media_thumbnail ="";
                    if((file.file_type == "image/jpeg") || (file.file_type == "image/png") || (file.file_type == "image/png"))
                    {
                        media_thumbnail = '<img src="'+file.file_path+'" height="60" width="46" />';
                    }
                    if((file.file_type == "audio/mp3") || (file.file_type == "audio/wma"))
                    {
                        media_thumbnail = '<img src="'+site_url+'assets/admin/audio.png" />';
                    }

我的功能出了什么问题?

2 个答案:

答案 0 :(得分:2)

media_thumbailmedia_thumbnail不同。你有一个错字:

'<div class="media_preview">'+media_thumbail+'</div>'+

应该是

'<div class="media_preview">'+media_thumbnail+'</div>'+

在那里看到缺少的n

答案 1 :(得分:0)

你错误拼写了变量引用:

'<div class="media_preview">'+media_thumbail+'</div>'+
                                         ^ missing 'n'