javascript - 带有 jquery ajax 请求的 wkhtmltopdf

标签 javascript jquery wkhtmltopdf

我正在开发一个需要从一些 html 生成 pdf 的应用程序。我正在使用 wkhtmltopdf 并遇到了一些问题。

该页面有一个 ajax 请求。一般情况下这个ajax请求返回一些json。当我使用这个片段时:

  jQuery.get(URL, function(data){
    $("body").html('THIS CODE IS RUNNING');
  });

并在浏览器中访问该页面,一切正常。但是,如果我在 url 上运行 wkhtmltopdf,则会得到一个空白的 pdf。

巧合的是,我传递给 ajax 函数的 url 可以用 format=array 查询修改,它将 json 作为格式化字符串而不是 json 返回,当我这样做时一切都按预期工作,运行 wkhtmltopdf 会生成一个带有“THIS CODE IS RUNNING”字样的 pdf。

我在这里碰壁了。我认为问题可能与 jQuery 解析 json 结果的方式有关,但我不确定。想法?

编辑:

我忘了添加这个重要的细节。我非常有信心我已经排除了 ajax 请求尚未完成的理论。我已经尝试使用大量的 wkhtmltopdf 调用 --javascript-delay ,结果相同。不仅如此,当我发出请求(向同一个服务器,返回相同的数据)并且请求返回非 json 数据时,ajax 请求确实有效。

最佳答案

wkhtmltopdf 不了解 AJAX,因此它可能不会等待请求返回。尝试使用 --javascript-delay 选项,看看它是否适合您。如果您可以控制页面生成,也可以尝试使用 --window-status 参数,请参阅 this post on the mailing list了解详情。

关于javascript - 带有 jquery ajax 请求的 wkhtmltopdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22824184/

相关文章:

ruby-on-rails-3 - highcharts 显示在我的渲染 html 页面中,我想使用 Rails 中的 wkhtmltopdf 将其转换为 PDF

ruby-on-rails - 在 Windows 7 上使用来自 ruby​​ 的 wicked_pdf 的权限被拒绝

wkhtmltopdf - 长表的分页符

javascript - 范围内的内存机制

javascript - 渲染中的 JSX 语法箭头函数

javascript - Ajax 无法在 WordPress 插件短代码的前端工作

jquery - 带 id 的 div 内多个标签的选择器

javascript - 无法删除我附加的事件监听器

jquery - 显示文本一段时间

jquery - 使用 jQuery 更改 TD 上的背景图像时,T​​R 背景图像消失