将JSON发布到PHP,然后触发从PHP下载文件


Post JSON to PHP and then trigger a file download from PHP?

我正在考虑一个网页,它将json对象发布到PHP页面,然后PHP页面生成一些数据并将数据导出到本地文件。因为在第一步中,数据太大,无法通过URL,所以我需要使用JSON。然而,当我以AJAX方式将JSON对象传递给PHP时,不会触发下载。我想知道如何触发下载。

//the code will not trigger a download from PHP
var xmlhttp;
if (window.XMLHttpRequest)
   xmlhttp = new XMLHttpRequest();
else
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST", "export.php");
xmlhttp.setRequestHeader("Content-type", "application/json", true);
xmlhttp.send(JSON.stringify(obj));

我可以用JavaScript接收回显的数据,但用JavaScript创建本地文件比用PHP更复杂。

不要使用xmlhttprequest,只需将带有json的表单提交给PHP,并在PHP中指定正确的Content-Type

我找到了解决方案:创建一个表单并使用JavaScript动态创建隐藏的输入字段。并使用提交按钮将表单发布到新打开的窗口中的php文件中。