/ / писане на обект json в .json файл, използващ javascript и php - php, javascript, json

писане на json обект на .json файл с помощта на javascript и php - php, javascript, json

Трябва да напиша json обект на .json файл, използвайки javascript и php. Обектът json изглежда да съхранява стойностите правилно, но php файлът не изглежда да тича, така че нищо не се случва.

Благодаря.

моята функция javascript, която се нарича на бутон клик:

    function save_crime()
{
//json object, v1, v2, v3 etc are variables whose values are set in a different function
var jsonObject = { "crime" : {  "violence" : {  "violence1" : v1,
"violence2" : v2,
"violence3" : v3
},

"burglary" : {  "burglary1" : b1,
"burglary2" : b2
},

"robbery" :  {  "robbery1" : r1,
"robbery2" : r2
},

"criminal" : {  "criminal1" : c1,
"criminal2" : c2,
"criminal3" : c3
}
}
}



//jQuery to post json object to json.php for writing to json file
$.ajax({
type : "POST",
url : "json.php",
dataType : "json",
data : {
json : JSON.stringify(jsonObject)
}
});

}

php файл за писане на файл .json:

<?php

$json = $_POST["json"];
$info = json_encode($json);

$file = "crimes.json";
$handle = fopen($file, "w");
fwrite($handle, $info);
fclose($handle);

?>

Отговори:

1 за отговор № 1

Вие пишете JSON низ към файл, не е необходимо да декодирате като негов низ вече от JS част (JSON.stringify(jsonObject)).

Просто го напишете директно.

file_put_contents("crimes.json",  $_POST["json"]);

По-добре е да получите отговор от сървъра, за да знаете, че действието се изпълнява правилно. Използвай $.post вместо $.ajax.

$.post(
"json.php",
{
json : JSON.stringify(jsonObject)
},
function (data, textStatus, jqXHR){
}
);