1

jquery ajax呼び出しからphpファイルにJSON配列を渡そうとしていますが、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データをファイルに書き込んでいません。つまり、ファイルは空です

4

1 に答える 1

0

json_decodeJSON 文字列を受け取り、それをオブジェクト (または連想配列) に解析します。ファイルに書き込みたいので、最初に解析する必要はありません (オブジェクトではなくファイルに文字列を書き込みます)。

$json = $_POST['json'];
file_put_contents('text.txt', $json)
于 2013-08-17T06:25:43.070 に答える