Пытаюсь отправить данные формы ajax'ом и записать в json-файл. Файл успешно создается в нужной директории, но его содержание - Null
Форма:
<form id="plgen">
<label for="name">ID плейлиста:</label>
<input required="required" type="text" value="" name="playlistslug" id="playlistslug" size="80" /><br/>
<label for="title">Заголовок плейлиста:</label>
<input required="required" type="text" value="" name="pl-title" size="80" />
<fieldset>
<label for="goal">Событие:</label>
<input name="goal[]" id="goal" value="" type="text" />
<label for="ytid">YouTube ID:</label>
<input name="ytid[]" id="ytid" value="" type="text" />
</fieldset>
<div class="submit">
<input type="submit" id="btn" name="btn" class="btn" value="Submit" />
</div>
</form>
JavaScript:
$(document).ready(function() {
$("#btn").click(function(e){
var jsonData = {};
var formData = $("#plgen").serializeArray();
// console.log(formData);
$.each(formData, function() {
if (jsonData[this.name]) {
if (!jsonData[this.name].push) {
jsonData[this.name] = [jsonData[this.name]];
}
jsonData[this.name].push(this.value || '');
} else {
jsonData[this.name] = this.value || '';
}
});
console.log(jsonData);
$.ajax(
{
url : "/playlists/new-playlist.php",
type: "POST",
data : jsonData,
});
e.preventDefault();
});
});
Обработчик:
$json = $_POST['data']; //json need to be data
$info = json_encode($json);
$file = fopen('test.json','w+') or die("File not found");
fwrite($file, $info);
fclose($file);
exit;
В консоль выводит:
Object {
playlistslug: "Playlist title",
"pl-title": "Заголовок",
"goal[]": "Событие 1'",
"ytid[]": "youtubevideoid"
}