【问题标题】:coldfusion ajax jquery file-upload not workingColdfusion ajax jquery文件上传不起作用
【发布时间】:2011-08-07 14:43:57
【问题描述】:

这是我的情况。我有一个照片管理页面,其中包括 1)照片上传模板 2)照片详细信息模板 3)特色照片模板 4)照片库和 5)动态导航栏。最初,照片上传模板设置为提交给自己并使用cffile 上传新照片的表单。在我尝试添加 jquery 回调以在成功上传时刷新详细信息、特色照片和图库容器之前效果很好 - 但我发现在提交表单并上传照片后,我附加到表单提交的任何其他功能按钮不运行。

因此,我决定将提交按钮更改为键入“按钮”并使用 jquery .ajax() 上传文件,这样我就可以在成功时添加回调。到目前为止,我的 ajax 方法代码是:

$.ajax({
            url: 'Administration/PhotoManagement/uploadPhotos.cfm',
            type: 'POST',           
            data: { Add: 'add',
                NewFilename: file_name,
                shortName: short_name,
                description: description
            },
            contentType: 'multipart/form-data',
            success: function(response, status, xhr){
                    $('#upload').html(response);
                    // refresh gallery, featured pic, details
                    alert('success');
                }
            },
            error: function(xhr, status){
                alert(status + ' ' + xhr.statusText);
            }           
        });

提交时,我收到 500 内部服务器错误。 Firebug 控制台报告数据已正确发布,但图像未上传,并且我没有从 cffile 周围的 try/catch 错误代码中收到错误消息。

我不接受这两种方法 - 如果我能让回调起作用,我会回到原来的方法。有什么建议?如果您认为我应该继续使用 ajax 方法,您会建议我尝试修复我的错误吗?

编辑:在上面的代码中,我添加了 type:multipart/form 数据,因为我在标签周围的 try/catch 块中收到错误:

无效的内容类型:application/x-www-form-urlencoded; charset=UTF-8

【问题讨论】:

  • 500 错误的详细信息是什么?使用 firebug 或一些代理 (Charles) 来获取详细信息。
  • 你试过使用jQuery ajax文件上传插件吗?
  • Lucas,我​​无法在工作中使用代理。 Firebug 不会给我 500 错误的详细信息;它显示了一个?在本地主机之后。删除“type: multipart/form-data”会使该错误消失,但我的 cffile 标记随后会给我上面列出的“invalid content type”错误。
  • tsurahman,有没有你推荐的?
  • 我的印象是您无法通过 AJAX 请求上传文件。

标签: jquery file-upload coldfusion


【解决方案1】:

我参加聚会有点晚了,但我之前曾将它用作使用 Coldfusion 的 AJAX 文件上传器:

http://valums.com/ajax-upload/

当你下载包时,有一个使用coldfusion的例子。

在 javascript 文件中,有一个函数有一个名为“onComplete”的回调方法(搜索qq.FileUploaderBasic)。在该回调方法中调用您自己的回调函数,如下所示:

onComplete: function(id, fileName, responseJSON)
    {
        uploaderCallBackFunction(id, fileName, responseJSON);
    },

uploaderCallBackFunction 是我写的一个函数。如果您愿意,也可以将 JSON 从 CFC 传递给回调函数。

【讨论】:

  • 嘿,这个链接似乎失效了。你还有其他副本吗?
  • @Will 我很遗憾没有副本,但我会推荐一个我已经成功使用过的更现代的插件(虽然不是用 CF):github.com/blueimp/jQuery-File-Upload
  • 是的,我一直在考虑为此为 CF 制作服务器端。似乎是最好的选择。还是谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-02
  • 2012-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
相关资源
最近更新 更多