javascript – 上传文件时dojo.io.iframe错误

前端之家收集整理的这篇文章主要介绍了javascript – 上传文件时dojo.io.iframe错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在尝试上传图像文件时,今天遇到一个有趣的问题<使用dojo.io.iframe 2MB. 我调用了处理表单的函数,但在将表单发布到服务器之前,我收到以下错误: TypeError:ifd.getElementsByTagName(“textarea”)[0]未定义 我用于处理表单帖子的函数是:

function uploadnewlogo(){

var logoDiv = dojo.byId('userlogo');
var logoMsg = dojo.byId('uploadmesg');

//prep the io frame to send logo data.
dojo.io.iframe.send({
    url: "/users/profile/changelogo/",method: "post",handleAs: "text",form: dojo.byId('logoUploadFrm'),handle: function(data,ioArgs){

        var response = dojo.fromJson(data);


        if(response.status == 'success'){

            //first clear the image
            //dojo.style(logoDiv,"display","none");
            logoDiv.innerHTML = "";

            //then we update the image
            logoDiv.innerHTML = response.image;

        }else if(response.status == 'error'){

            logoMsg.innerHTML = data.mesg;

        }else{              

            logoMsg.innerHTML = '
logoMsg.innerHTML = '

表单是非常基本的,只有一个文件输入组件和一个调用这个javascript和dojo的简单按钮.

我的应用程序中有非常类似的代码,上传word / pdf文档并且没有错误,但出于某种原因,这样做.

关于我应该尝试让它无误地工作的任何想法或指示?

哦,我正在使用PHP和Zend框架作为后端,如果它与它有任何关系,但我怀疑它,因为它甚至没有在它失败之前击中服务器.

非常感谢,

格兰特

最佳答案
由于已触发dojo.io.iframe.send()的加载处理程序,因此应将请求发送到服务器并返回响应.我认为服务器的响应不正确.也许服务器返回错误页面.

使用Firebug检查当前页面的DOM并找到由Dojo创建的传输iframe并检查其内容. Firebug也可以捕获iframe I / O,检查其Net选项卡.您可能会找到此问题的根本原因.

猜你在找的JavaScript相关文章