当前位置: 首页 > 面试题库 >

编程式Dojox上传器-Ajax上传不起作用

权黎昕
2023-03-14
问题内容

我找不到有关以编程方式创建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示例。

据我了解,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



 类似资料:
  • 问题内容: Java控制器类: html文件: 角js: 这是我在服务器日志中无法理解的错误: 问题答案: 尝试以下方法。对我来说很好。 HTML你应该有 注意输入的名称。 然后在JS控制器方法中 现在在您的Java Controller类中 希望这对您有用。并且也要进行异常处理。

  • 问题内容: Java控制器类: html文件: 角js: 这是我在服务器日志中无法理解的错误: 问题答案: 尝试以下方法。对我来说很好。 HTML你应该有 注意输入的名称。 然后在JS控制器方法中 现在在您的Java Controller类中 希望这对您有用。并且也要进行异常处理。

  • 我在Twitter API上工作,为用户创建一个功能,可以直接从软件发推:以下是我的代码: 脚本运行良好(不会抛出任何错误/异常),但它不是上传文件,而是简单地推送媒体ID。 我应该如何更改它,以便它上传带有状态消息的媒体文件。

  • 我需要关于使用PHP5.3上传AWS多部分的帮助,我使用的是1.WAMP服务器。2.PHP 5.3 3.操作系统:Windows 8我正在尝试将一个大文件上传到My Amazon S3存储桶。 尝试了很多方法。我按照http://docs.aws.amazon.com/AmazonS3/latest/dev/LLuploadFilePHP.html的代码程序 我写了PHP代码,但我不知道我犯了什么

  • 问题内容: Q.1我想将这种形式转换为ajax,但似乎我的ajax代码缺少某些内容。提交根本不做任何事情。 Q2。我还希望在选择文件时不等待提交时在更改时触发该函数。 这是JS。 和HTMl与php。 问题答案: 首先在ajax调用中包含成功和错误功能,然后检查它是否给您错误或什么? 您的代码应该像这样

  • 我使用Bootstrap,在Modalbox中有一个窗体。 还有一个文件上传,我想上传图像,但如果我点击提交按钮,网站看起来像重新加载瞬间,没有文件上传... 这是我的Ajax脚本 这是用于上传的html表单字段 这里是PHP的事情 但它不起作用。。。 如果我将其从php文件中删除,它将使用type=“text”和数字保存我的其他字段 但是文件上传不起作用,我已经尝试了很多我在谷歌上找到的