首先,我有以下代码将我的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()