首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery Ajax请求丢失方法

jQuery Ajax请求丢失方法
EN

Stack Overflow用户
提问于 2012-06-28 08:31:43
回答 2查看 154关注 0票数 0

我有一个页面index.php,它使用模式来上传文件。上传之后,我使用以下命令更新我的数据库,并将新图像加载到列表中。

代码语言:javascript
复制
$('#sortableImages').load('../includes/sortImages.php?edit=' + edit);

执行:

代码语言:javascript
复制
<script type="text/javascript">
$(document).ready(function(){ 

    $(function() {
        $("#sortableImages ul").sortable({ 
            opacity: 0.6, cursor: 'move', update: function() {
                var order = $(this).sortable("serialize") + '&action=updateRecordsListings';
                $.post("../albumUploader/queries/sort.php", order);
            }
         });
    });

});
</script>
echo "<ul class='revisionList'>";

                while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
                    $sortImageName = $row['OrgImageName']; 
                    $sortPath = "../data/gallery/" . $getGalleryID . "/images/album/" . $sortImageName;
                    echo "<li class='sortPhotos' id='recordsArray_{$row['id']}' >";
                    echo '<img src="'. $sortPath .'"/>';
                    echo "</li>";
                }

                echo "</ul>";

图像填充在索引页面上的div #sortableImages中。但是,我似乎丢失了最初加载到index.php中的js文件中的sortable()方法,或者在ajax请求之后,它没有读取js。这里我漏掉了什么?

万分感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-28 08:46:54

当您使用ajax从远程页面加载脚本时,重要的是要认识到您要加载到的页面中已经发生了ready事件。

这意味着包装在$(function(){})中的代码将在收到后立即触发。如果该代码在它引用的html之前,它将找不到该html,因为它还不存在。

如果您将相同的代码移到它所引用的html下面,它将在html存在后触发,因此会找到它。

Executes EDIT:我的答案是假设OP中“:”之后显示的所有代码都包含在远程页面

票数 0
EN

Stack Overflow用户

发布于 2012-06-28 08:59:06

您没有处理sort.php结果的处理程序。调用此函数只会将数据加载到缓存中。

您需要一个完整的处理程序函数来刷新数据,更不用说将其添加到dom中。你应该澄清你的问题,并明确这是两个不同的页面。

$.post("../albumUploader/queries/sort.php",order).complete = func...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11236592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档