[英]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()。 依然没有 :(
经过进一步研究,我发现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()});
}
});
我已经用自己的函数(本文的第一个)重写了此函数,这似乎是一个问题。
页面的标题部分:
<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.