【问题标题】:generate a file using jquery and pass it to php [closed]使用 jquery 生成文件并将其传递给 php [关闭]
【发布时间】:2013-10-13 20:26:06
【问题描述】:

大家,我正在做一个网站。它可以使用 jquery 生成 MS excel 文件并下载。问题是我希望这个生成的文件可以使用php作为附件在电子邮件中发送,那么首先如何将生成的文件传递给php?

以下简化代码说明了我的 javascript 代码:

$(document).ready(function() {
$("#excelExport").click(function() {

    var fileexample;//file declaration before generation

    ....//generate the file

    fileexample.click();//download the file

    return fileexample;
});});

我尝试了一些方法来解决这个问题,仅供参考:

  1. 使用 jquery ajax POST 请求将 fileexample 变量传递给 php 服务器,但它无法工作。它只能在传递像字符串这样的普通变量时起作用。

  2. 将javascript代码和php代码放在一个php文件中。但我不知道如何在 php 代码中调用 javascript fileexample 变量。

  3. 将javascript代码和php代码放在一个php文件中,使用php生成MS excel文件。但是如何在php代码中调用像document.getElementById("XXX")这样的javascript普通变量。

希望有人能帮助我,非常感谢。

【问题讨论】:

  • 所以文件是数据uri?
  • 这里的代码几乎什么都不做,它所做的不会像你说的那样做。您到底想从我们这里得到什么?
  • @Musa 文件不是数据 uri。该代码创建了一个临时 HTML 链接元素,存储数据并将其生成为 MS excel 文件
  • @MikeW 对不起我的英语不好,这里的代码可以生成一个excel文件并下载,我想知道我是否可以将该文件传递给php。另外,我已经尝试了上面的一些方法,也许其他替代选择可以解决问题。

标签: javascript php


【解决方案1】:

从标题来看,从谷歌找到的图书馆可能是

http://excelbuilderjs.com/

正如第一页上很好解释的那样,这样做的主要原因是避免与服务器联系。否则没有充分的理由在客户端上创建一个 Excel 然后将其发送到您的服务器。

关于你的方法,

1.可以将客户端创建的xml数据从js发布到服务器jQuery ajax post to web service

2.php中无法调用js代码。 Javascript在客户端执行,php在服务器端执行。您可以只在服务器端的 php 代码中准备将在客户端执行的 js。

3.这可能是朝着正确的方向。在服务器端使用 php 准备 xls 文件,并通过 ajax 访问页面或 js 调用将其作为结果提供给 php 调用。然后你可以允许从生成的 php 页面下载你的文件,或者通过 js 作为对 ajax 调用的响应。

【讨论】:

  • thx,我正在尝试按照您的想法解决问题
  • 也是一篇很不错的文章,有点老但是给出了很好的指导hacks.mozilla.org/2012/02/…
  • 我通过将原始数据传递给php端并在服务器端生成文件来解决问题,再次感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多