jquery ajax呼び出しからJSON配列をPHPファイルとPHPファイルに渡そうとしています。受信したデータをファイルに書き出しています。私のコード:
var contacts = [{"address":[],"phone":[],"last_name":"abc","email":[{"address":"test@yahoo.com","type":null,"selected":true}],"first_name":"Test"}];
$.ajax({
url: "handler.php",
type: "POST",
dataType: "json",
data: { "json": JSON.stringify(contacts) } ,
success: function(response){
alert(response);
}
});
そしてPHPコード:
$json = $_POST["json"];
$response = json_decode($json);
$file = fopen("test.txt","w+");
fwrite($file, $response);
fclose($file);
echo "Done";
ファイルにjsonデータを書き込んでいない、つまりFile is empty
回答:
回答№1は0json_decode
JSON文字列を受け取り、それをオブジェクト(または連想配列)に解析します。それをファイルに書きたいので、最初に解析する必要はありません(オブジェクトには文字列をファイルに書き込まない)。
$json = $_POST["json"];
file_put_contents("text.txt", $json)