Jquery Dropzone动态更改POST位置

时间:2014-12-12 19:06:02

标签: jquery dropzone.js

我有关于Dropzone.js的问题,我希望能够动态更改帖子网址,例如:

window.onload = function() {
  myDropzone = new Dropzone("#my-awesome-dropzone", {
    url: "upload_file.php"
  });
  myDropzone.on("complete", function(file) {
    myDropzone.removeFile(file);
  });
}

你在哪里看到url:" upload_file.php",我想在我需要的时候改变这个属性,这使我能够改变存储文件的路径,这样我就能做点什么了类似于:

url: "upload_file.php?path=/path/to/folder/"

3 个答案:

答案 0 :(得分:4)

提供的答案不完整而不合并。 OP中的那个是dropzone的创建者提供的推荐方式。

Dropzone.options.myDropzone = {
  init: function() {
    this.on("processing", function(file) { // was processingfile
      this.options.url = "/some-other-url";
    });
  }
};

这可以在Wiki#94中找到。

然而,更动态的可能性是使用Dropzone.options.myDropzone.options.url。显然这是非常广泛的,可以通过几种不同的方式提取。

一个人:

// assuming you have autodiscover off or you are using the whole body as a dropzone
Dropzone.options.myDropzone = new Dropzone(document.body, {
    url: '/default/url',
    ...
});

var myDropzone = Dropzone.options.myDropzone, url = "Your url";

function doSomething(dropzone, url){
    dropzone.options.url = url
}

doSomething(myDropzone, url)
console.log(myDrozone.options.url);

我目前更喜欢第二种方法,但第一种方法显然是有用的。

答案 1 :(得分:3)

...排序

Dropzone.options.myDropzone = {
  init: function() {
    this.on("processingfile", function(file) {
      this.options.url = "/some-other-url";
    });
  }
};

来自:https://github.com/enyo/dropzone/wiki/Set-URL-dynamically

答案 2 :(得分:1)

只需使用

Dropzone.options.myDropzone.options.url = "Your url";