【发布时间】:2016-01-07 13:49:27
【问题描述】:
我想通过 jQuery/Ajax 将一些数据发布到 JSON 文件中,但我没有将数据作为 JSON 对象接收。
我的 JSON 内容如下所示:
foo=abc&bar=def
但我想要这个:
{ “富”:“ABC”, “酒吧”:“定义 }
HTML
<form id="foobar">
<label for="bar">A bar</label>
<input id="foo" name="foo" type="text" value="" />
<input id="bar" name="bar" type="text" value="" />
<input type="submit" value="Send" />
</form>
JS
var request;
$("#foobar").submit(function(event){
if (request) {
request.abort();
}
var $form = $(this);
var serializedData = $form.serialize();
request = $.post("dataSaveAjax.php", {json : JSON.stringify(serializedData)});
event.preventDefault();
});
PHP
<?php
$file = fopen("dataAjax.json","w+");
$json = $_POST['json'];
$jsonDecode = json_decode($json);
fwrite($file, $jsonDecode);
fclose($file);
?>
【问题讨论】:
-
不要使用
$form.serialize();制作你的json,然后给ajax打电话。制作 json{ "foo" : "abc", "bar" : "def }并发布。