【问题标题】:Javascript - getting responseText from server when js file is separate from html?Javascript - 当js文件与html分开时从服务器获取responseText?
【发布时间】:2014-03-08 08:37:16
【问题描述】:

在一些文件上传完成后,我需要从服务器(使用 Flask)获取一个 url,以便我可以重定向到它。我不能为此使用烧瓶,因为它根本不起作用,并且在使用服务器端重定向发布大文件或多个文件后尝试重定向显然是某种浏览器问题。我正在尝试将 URL 扔回 JS,它会在检查所有文件已上传后进行重定向。 JS 位于与 HTML 不同的文件中,但 dropzone 的 url: 是通过一个小的内联脚本传递给它的。 我试图用来获取响应的 JS 中的函数如下所示:

this.on("complete", function(responseText) {
      if (this.getQueuedFiles().length == 0 && this.getUploadingFiles().length == 0) {
        window.location.href = responseText;

      }


    });

它执行重定向,但不是 Flask 应该返回的 URL(我知道它是),我得到的是我之前使用的 url + [object File]最后,这显然 Flask 会抛出一个错误,因为它不是真正的 URL。我正在使用的 JS 上传器是 Dropzone.js,它不使用 jQuery 或类似的东西,我做错了什么?我是 JS 新手,只是对所有这些 AJAX/JSON/jQuery 的东西感到困惑,有没有简单的方法可以做到这一点?

【问题讨论】:

  • 尝试使用console.log(responseText) 在控制台上打印responseText 的值。您可以评论 window.location.href 行,以便查看输出:)

标签: javascript jquery redirect


【解决方案1】:

如果你想通过纯Dropzone.js实现上传完成后重定向,请查看my answer here。否则,您可以使用 Flask-Dropzone,这是一个将 Dropzone.js 与 Flask 集成的 Flask 扩展。对于此问题,您可以将DROPZONE_REDIRECT_VIEW 设置为上传完成时要重定向的视图。

【讨论】:

    猜你喜欢
    • 2017-04-12
    • 2011-10-03
    • 2017-02-01
    • 2015-05-27
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多