在尝试上传图像文件时,今天遇到一个有趣的问题<使用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 = '
表单是非常基本的,只有一个文件输入组件和一个调用这个javascript和dojo的简单按钮.
我的应用程序中有非常类似的代码,上传word / pdf文档并且没有错误,但出于某种原因,这样做.
关于我应该尝试让它无误地工作的任何想法或指示?
哦,我正在使用php和Zend框架作为后端,如果它与它有任何关系,但我怀疑它,因为它甚至没有在它失败之前击中服务器.
非常感谢,
格兰特
最佳答案
由于已触发dojo.io.iframe.send()的加载处理程序,因此应将请求发送到服务器并返回响应.我认为服务器的响应不正确.也许服务器返回错误页面.
使用Firebug检查当前页面的DOM并找到由Dojo创建的传输iframe并检查其内容. Firebug也可以捕获iframe I / O,检查其Net选项卡.您可能会找到此问题的根本原因.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。