繁体   English   中英

jQuery的“ AJAX”上传问题

[英]“AJAX” Upload Issues with jQuery

我正在尝试创建一个简单的“ AJAX”上传器(据我所知,您实际上无法进行AJAX上传)。 我遇到了问题,我真的不想使用插件。 我正在编写一个需要在表单中包含PDF附件的应用程序,而我的应用程序代码已包含约1000行JS + jQuery。 我不想添加额外的1000k SWFObject或巨型表单插件。 另外,我喜欢学习事物,所以我知道它们的工作原理:)并且我也非常精通JS ...

这是我到目前为止的内容:

<!DOCTYPE html>
<html>
    <head>
        <title>Upload Test</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script>            
            $(function(){
                $('#file_upload').submit(function(){
                    $('#file_upload').attr('target','upload_target');
                    alert($('iframe').contents().text());
                    return false;

                });
            });
        </script>
    </head>
    <body>
        Upload Test to 382
        <form id="file_upload" method="post" enctype="multipart/form-data" action="io.cfm?action=updateitemfile&item_id=382">
            <input name="binary" id="file" size="27" type="file" /><br />
            <input type="submit" name="action" value="Upload" /><br />
            <iframe id="upload_target" name="upload_target" src="" style=""></iframe>
        </form>

    </body>
</html>

我一直在读,如果我将目标属性添加到表单中,表单将在那里提交,但根本没有运气。 它只是没有在iframe中放置任何内容。 根据选择的项目,“操作”属性将是动态的。 如果我关闭所有的“ AJAX”,它也可以正常工作,而且由于它是一个内部API,所以我无权访问后端。

因此,如何将其提交到iframe,然后获取将是JSON响应的iframe内容?

附言:这只是我正在使用的测试页...对不起,这不是整个应用程序。

并不是表单的提交填充了<iframe> POST应该使其返回服务器-您看到了吗? 然后,服务器响应将以<iframe>结尾。 通常,为了使它感觉像Ajax一样,您要做的是使响应页面包含一些以某种方式与主页面对话的Javascript。

停止从您的提交处理程序返回false ,然后看看会发生什么。

这样做的目的是避免表单提交的默认行为。 当您以普通的旧HTML方式提交表单时,包含表单的页面将被服务器的响应替换。 但是,将表单定位为<iframe> ,不是。 而是将响应定向到框架内的“页面”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM