将javascript数组传递到PHP页面?

将javascript数组传递到PHP页面?,javascript,php,jquery,Javascript,Php,Jquery,我有一个javascript数组,需要发送到PHP页面以动态创建PDF文件 我有数组,我有PDF创建工作,但我不知道如何将javascript数组获取到PHP数组,这样我就可以使用foreach循环来获取值 Ajax无法工作,因为PDF文件作为数据而不是文件返回。我可以将PHP文件加载到iframe中,但我必须用查询字符串传递数组 有没有办法通过post将数组原封不动地传递到PHP页面(我可以重新加载用户所在的页面或链接到另一个页面) jQuery或香草JavaScript都可以 我已经解决了这

我有一个javascript数组,需要发送到PHP页面以动态创建PDF文件

我有数组,我有PDF创建工作,但我不知道如何将javascript数组获取到PHP数组,这样我就可以使用foreach循环来获取值

Ajax无法工作,因为PDF文件作为数据而不是文件返回。我可以将PHP文件加载到iframe中,但我必须用查询字符串传递数组

有没有办法通过post将数组原封不动地传递到PHP页面(我可以重新加载用户所在的页面或链接到另一个页面)


jQuery或香草JavaScript都可以

我已经解决了这个问题。我不知道为什么它会这样工作,但它正在工作。我添加了一个带有隐藏字段的表单,并将数组放入该字段中。然后我提交表格:

$(“#pdfArray”).val(JSON.stringify(pdfs))$(“#pdfarrayform”).submit()

然后我只是在PHP文件中对其进行解码:

$pdfArray=json_decode($_POST['pdfArray'])


所有这些都可以在不离开原始页面的情况下工作。PDF文件下载后,用户留在表单页面上,这使得它看起来像ajax,但事实并非如此。

使用JavaScript创建
元素,填充
,并将其提交到PHP文件。您只需将数组转换为json并使用ajax api即可。有关更多信息,请使用链接。这可能对你有帮助。@JINOSHAJI OP已经说过:“Ajax不起作用,因为PDF文件是以数据而不是文件的形式返回的。”这是一种非常常见的行为,例如,当你按下指向ZIP文件的链接时,浏览器会在不离开页面的情况下下载它,这与此类似,但使用PDF和表单,而不仅仅是链接。我想是这样。除了它将转到一个PHP页面,该页面正在动态创建PDF。正常的行为是转到PHP页面并停留在那里。对吗?您将PHP页面与HTML输出关联,虽然最常见的情况并不是唯一的情况,但PHP脚本可以返回二进制数据(许多站点使用PHP或其他服务器语言来提供二进制文件)。请注意,浏览器处理URL的方式取决于响应标头的
内容类型
,而不是文件扩展名(事实上,如果您返回二进制数据并忘记更改标头中的类型,浏览器将显示二进制数据,而不是将其处理到相应的插件或外部应用程序)。