代码之家  ›  专栏  ›  技术社区  ›  Richard Knop

jQuery.get()未填充div

  •  3
  • Richard Knop  · 技术社区  · 15 年前

    此功能有什么问题:

    function() {
        $.get('/controller/action', function(data) {
            $('#temporaryPhotos').text(data);
        } );
        return false;
    }
    

    它应该做的是从 /控制员/行动 页面并将HTML插入到 #temporaryPhotos 当前页上的div。

    <div id="temporaryPhotos"></div>
    

    所以它只是一个空div。jQuery函数应该用另一个页面的照片填充它(当然是同一个网站)。但是div还是空的。

    编辑:

    我想我对我的帖子不是很清楚,所以这里有一个额外的信息。我实际上试图实现的是使用上述函数作为Uploadify jquery插件的回调( http://www.uploadify.com

    以下是完整的javascript代码:

    $(document).ready(function() {    
        $('#photo').uploadify({
            'uploader'       : '/flash-uploader/scripts/uploadify.swf',
            'script'         : '/flash-uploader/scripts/upload-public-photo.php',
            'cancelImg'      : '/flash-uploader/cancel.png',
            'scriptData'     : {'user_id' : 'USER_ID'},
            'queueID'        : 'fileQueue',
            'auto'           : true,
            'multi'          : true,
            'sizeLimit'      : 2097152,
            'fileExt'        : '*.jpg;*.jpeg;*.gif;*.png',
            'wmode'          : 'transparent',
            'onComplete'     : function() {
                $.get('/controller/action', function(data) {
                    alert(data);
                    $('#temporaryPhotos').html(data);
                } );
                return true;
            }
        });
    });
    

    编辑2:

    经过进一步研究,我发现Uploadify插件中的默认onComplete()函数如下所示:

    jQuery(this).bind("uploadifyComplete", {'action': settings.onComplete}, function(event, ID, fileObj, response, data) {
        if (event.data.action(event, ID, fileObj, unescape(response), data) !== false) {
            jQuery("#" + jQuery(this).attr('id') + ID + " .percentage").text(' - Completed');
            jQuery("#" + jQuery(this).attr('id') + ID).fadeOut(250, function() { jQuery(this).remove()});
        }
    });
    

    编辑3:

    <script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="/flash-uploader/scripts/swfobject.js"></script>
    <script type="text/javascript" src="/flash-uploader/scripts/jquery.uploadify.v2.1.0.min.js"></script>
    <script type="text/javascript">
        //<![CDATA[
    $(document).ready(function() {    
        $('#photo').uploadify({
            'uploader'       : '/flash-uploader/scripts/uploadify.swf',
            'script'         : '/flash-uploader/scripts/upload-public-photo.php',
            'cancelImg'      : '/flash-uploader/cancel.png',
            'scriptData'     : {'user_id' : 1},
            'queueID'        : 'fileQueue',
            'auto'           : true,
            'multi'          : true,
            'sizeLimit'      : 2097152,
            'fileExt'        : '*.jpg;*.jpeg;*.gif;*.png',
            'wmode'          : 'transparent',
            'onComplete'     : function() {
                alert("hello");
            }
        });
    });    //]]>
    </script><script type="text/javascript" src="/js/document-ready.js"></script>
    
    3 回复  |  直到 10 年前
        1
  •  6
  •   karim79    15 年前

    试用 html

     $('#temporaryPhotos').html(data);
    

    此外,您可能希望尝试向响应发出警报,以查看服务器返回的内容:

    function() {
        $.get('/controller/action', function(data) {
            alert(data);
            $('#temporaryPhotos').html(data);
        });
        return false;
    }
    
        2
  •  1
  •   Dustin Getz sunsations    15 年前

    .text(str)将str作为纯文本插入(转义标记)

    $("p").text("<b>Some</b> new text.");
    
    <b>Some</b> new text.
    

    http://docs.jquery.com/Attributes/text#val

        3
  •  1
  •   Dustin Getz sunsations    15 年前

    在firebug中设置断点以确保您没有误用Uploadify。