如何在"对象"中将复杂参数发送到服务器?标签?

时间:2015-01-12 15:12:02

标签: javascript html dom

我正在使用jQuery创建一个对象标记,以显示动态生成的PDF文件。为了创建它,我使用“data”属性在URL中包含GET参数,因此服务器可以识别需要哪种文件。

$("#div").html("<object data='url?parameterX=1&parameterY=0' type='application/pdf'></object>");

在同一个项目中,我现在需要生成一个带有动态生成图片的pdf文件。我能够使用html2canvas库并通过POST发送图像的base64值,但由于我需要在object标签中显示该文件,我无法将base64数据作为GET发送,因此浏览器显示消息“URL太长”。

是否可以使用复杂参数创建Object标签?我不知道是否可以通过POST发送信息。

更新

目前,解决这个问题的唯一方法是James Thorpe的建议。使用jquery ajax,我将base64发送到服务器并将值存储在会话变量中。 像这样:

$.ajax({
  url: "url",
  dataType: "text",
  type: "POST",
  data: { image: canvas.toDataURL("image/png").replace("data:image/png;base64,", "") }
}).done(function (data) {
  $("#div").html("<object data='url?parameterX=1' type='application/pdf'></object>");
}
然而,我不知道这是否是最好的解决方案。我要打开这个问题,如果我找到了有用的东西,我会尝试提供任何更新。

0 个答案:

没有答案