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

时间:2013-08-17 19:18:17

标签: php javascript ajax json download

我正在考虑将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中更复杂。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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