写一个javascript数组到另一个域的json文件


Write a javascript Array to a json file on another domain

首先,我有以下代码将我的Javascript数组转换为JSON数组。

<script type="text/javascript" src="https://github.com/douglascrockford/JSON-js/blob/master/json2.js"></script>
  var sv_defaultArray = new Array([]);
  sv_defaultArray[0] = "post 4";
  sv_defaultArray[1] = "post 5";
  sv_defaultArray[2] = "post 6";
  var myJsonString = JSON.stringify(sv_defaultArray);

现在我想将转换后的数组写入json文件,让我们通过任何可能的常规方法说http://www.foobar.com/array.json。

所以现在我在php和jQuery的以下阶段。邮政设施;

<?php
$list = $_POST["array"];
$fp = fopen('array.json', 'w');
fwrite($fp, $list);
fclose($fp);
?>
$.post("http://www.foobar.com/write.php", { 'array': myJsonString});

上面的解决方案给我的错误主要是在控制台返回原点错误。

您可以让另一个域的服务器端PHP文件接受json作为POST/GET参数,并将其写入文件,然后返回json响应作为结果。

然后你可以使用jquery。getJSON在你的第一个域名调用url与你的json需要写入

http://api.jquery.com/jQuery.getJSON/

您需要一个可以编写文件的服务器端脚本。然后你可以通过ajax将json数组发送给它,它将写入文件。我必须强调的是,javascript无法访问文件系统,因此仅使用纯javascript是无法完成此任务的。

您需要通过表单提交数据,因为AJAX不允许跨域请求。您所做的其他一切都是100%正确的(假设php在目标服务器上)。我建议使用一个具有可见性的文本区域:无样式标签集。使用js填充文本区,并使用form.submit()

提交表单