【问题标题】:Dropzone JS "Server responded with 0 code"Dropzone JS“服务器响应 0 代码”
【发布时间】:2017-06-13 17:32:26
【问题描述】:

我正在使用 dropzone js,但我遇到了一个问题,即在某些计算机中 dropzone 没有任何效果。 这是我所拥有的:

HTML:

<form action="acciones.php?accion=subirImagenes" class="dropzone" id="my-awesome-dropzone">
                        
</form>

Dropzone js 选项:

      url: null,
      method: "post",
      withCredentials: false,
      timeout: 30000,
      parallelUploads: 2,
      uploadMultiple: false,
      maxFilesize: 256,
      paramName: "file",
      createImageThumbnails: true,
      maxThumbnailFilesize: 10,
      thumbnailWidth: 120,
      thumbnailHeight: 120,
      thumbnailMethod: 'crop',
      resizeWidth: null,
      resizeHeight: null,
      resizeMimeType: null,
      resizeQuality: 0.8,
      resizeMethod: 'contain',
      filesizeBase: 1000,
      maxFiles: null,
      params: {},
      headers: null,
      clickable: true,
      ignoreHiddenFiles: true,
      acceptedFiles: null,
      acceptedMimeTypes: null,
      autoProcessQueue: true,
      autoQueue: true,
      addRemoveLinks: false,
      previewsContainer: null,
      hiddenInputContainer: "body",
      capture: null,
      renameFilename: null,
      forceFallback: false

我在 5 台具有相同网络浏览器的计算机上进行了比较,并且只在我的计算机和另一台计算机上运行。奇怪的是,当我在其他不工作的计算机上打开控制台时,没有 http 请求,甚至没有尝试寻找它。只是显示“服务器以 0 代码响应”的消息

我不知道出了什么问题,为什么它只能在某些计算机上运行...

 更新

这似乎与标题有关,但我不知道应该在“标题”dropzone 选项中包含哪些内容。

【问题讨论】:

  • 您是否同时解决了这个问题?我正在为同样的错误而苦苦挣扎,实际上我不知道如何解决它。
  • 是的,我刚刚更改了 URL,但它以某种方式开始工作,但不知道原因......

标签: javascript php jquery dropzone.js


【解决方案1】:

通过调整我的 API(服务器端)上的 Access-Control-Allow-Headers 成功解决了同样的问题。

所以最简单的解决方案是运行 Fiddler,或者只运行 Firefox Network Inspector(任何请求\响应监视器都可以完成这项工作),并监控原始请求标头,并与响应 Access-Control-Allow-Headers 标头进行比较。

在我的情况下,我缺少Cache-ControlX-Requested-With,但请确保您也有Content-Type

检查这个https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

【讨论】:

    【解决方案2】:

    您必须创建一个服务器端方法来处理上传。 Dropzone.js 只处理客户端发生的事情。如果您没有服务器端方法,您将继续收到错误消息。

    【讨论】:

    • 我知道,我已经完成了我的 php 脚本,但这不是问题,这似乎是 url 的问题,因为我什至无法在控制台上看到尝试的请求。
    • 在上面的示例中,您将 url 属性设置为 null。它怎么知道要调用什么php代码???试着把它拿出来。
    • 因为插件从表单标签中获取 action 属性,所以在某些计算机上正确上传文件并在某些计算机上正确上传文件是没有意义的。
    • 来自库文件“dropzone.js”:if (this.options.url == null) { this.options.url = this.element.getAttribute("action"); }
    • A) 清除浏览器中的缓存。 B)确保没有安装工具栏(它们很痛苦) C)如果一切都失败了,在工作站上安装 Fiddler 并比较下面的 HTTP 事务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 2018-05-26
    • 2012-01-31
    • 2012-08-10
    • 2013-12-15
    • 1970-01-01
    相关资源
    最近更新 更多