Javascript-程序化Dojox上传器-Ajax上传不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript-程序化Dojox上传器-Ajax上传不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1683字,纯文字阅读大概需要3分钟。
内容图文
我找不到有关以编程方式创建dojox / form / Uploader的任何文档.我自己尝试过,但看起来插件注册机制有些破损.
require([
"dojo/dom-construct",
"dijit/form/Button",
"dojox/form/Uploader",
"dojox/form/uploader/FileList",
"dojox/form/uploader/plugins/IFrame",
"dojo/domReady!"
], function(domConstruct, Button, Uploader, UploaderFileList) {
var form = domConstruct.create('form', {
method: 'post',
enctype: 'multipart/form-data',
class: 'Uploader'
}, document.body);
var up = new Uploader({
label: 'Pick files',
multiple: true,
url: '/echo/json/'
}).placeAt(form);
var list = new UploaderFileList({
uploader: up
}).placeAt(form);
var btn = new Button({
type: 'submit',
label: 'upload',
onClick: function() {
up.upload();
}
}).placeAt(form);
btn.startup();
up.startup();
list.startup();
});?
jsfiddle here上的示例.
据我了解,dojox / form / Uploader和dojox / form / uploader / plugins / IFrame的源代码是通过dojox.form.addUploaderPlugin函数注册的,该函数使用self和plugged插件重新声明Uploader小部件类.前辈.
但是,上传器窗口小部件的关键方法“上传”永远不会被HTML5插件(该文件自动包含在Iframe插件中)覆盖.
这是错误吗?还是我做错了什么?
谢谢你的帮助!
解决方法:
简而言之;使用新的dojox.form.Uploader而不是pull in变量,否则扩展插件不适用.
原因是,您会看到程序员在addUploaderPlugin中执行以下操作:
dojox.form.UploaderOrg = dojox.form.Uploader;
var extensions = [dojox.form.UploaderOrg];
dojox.form.addUploaderPlugin = function(plug){
extensions.push(plug);
declare("dojox.form.Uploader", extensions, {});
}
AMD loader返回的类始终是dojox.form.UploaderOrg,并且不知道扩展插件.
更改为以下内容:
var up = new dojox.form.Uploader({
label: 'Pick files',
multiple: true,
url: '/echo/json/'
}).placeAt(form);
并确保没有设置djConfig.publishRequireResult = false
内容总结
以上是互联网集市为您收集整理的Javascript-程序化Dojox上传器-Ajax上传不起作用全部内容,希望文章能够帮你解决Javascript-程序化Dojox上传器-Ajax上传不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。