簡體   English   中英

jQuery.get()不填充div

[英]jQuery.get() not populating div

此功能有什么問題:

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

它應該做的是從/ controller / action頁面獲取HTML並將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;
        }
    });
});

我嘗試了text()和html(),也嘗試alert()。 依然沒有 :(

編輯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>

嘗試使用html而不是文本:

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

另外,您可能想嘗試提醒響應以查看服務器返回了什么:

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

.text(str)將str插入為純文本(轉義標簽)

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

<b>Some</b> new text.

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

.html(str)將其插入為html。

在Firebug中設置一個斷點,以確保您沒有濫用Uploadify。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM