2012-03-18 20 views
3

divの内容を新しいhtmlファイルに保存しようとしています。 私はjQuery AJAXを使用してデータをPHPに送信しています。
しかし、現在のフォームのPHPは空のファイルを書き込みます。divの内容をjQuery AJAXとPHPで新しいファイルに保存する

HTML:

<div id="data2save"> 
    <span>data1</span> 
    <span>data2</span> 
    <span>data3</span> 
    <span>data4</span> 
</div> 

<input type="button" value="save" id="save"> 

はJQuery:

$("#save").live("click",function() { 

    var bufferId =$("#data2save").html(); 

      $.ajax({ 
       method : "POST", 
       url : "saver.php", 
       data: {id : bufferId}, 
       dataType: "html", 
       success: function(data){ 
       alert("ok"); 
       } 
       }); 
}); 

PHP:

<?php 
$handle = fopen("test.html", 'w+'); 
$data = $_POST['data']; 
if($handle) 
{ 

if(!fwrite($handle, $data)) 
echo "ok"; 
} 

?> 
+1

この問題のデバッグに役立つちょっとした質問:サーバーにデータが到着していますか? '$ _POST ['data']'は値を取得しますか? 'bufferId'は正しい値を得ますか? '警告( 'ok');はこれまで走った?このような問題を分析することで、どこが間違っているのかをより正確に判断できます。 –

答えて

5

リクエストメソッドプロパティ$_POST['id']あるべきtypeの代わりに、method$.ajax({ method : "POST"が実際$.ajax({ type : "POST"ある)と$_POST['data']です。

+0

簡略化した$ .post(url、data_obj)メソッドを使用する方が簡単です。これらの間違いを避ける。 dataTypeは必要ありません: "html"。 –

+0

ありがとう.postメソッドは完璧に動作しました – user1276919

1

なし$ _POST [ 'データ']掲示されている、唯一の$ _POST [ 'idがありません']。この部分を見てください:

data: {id : bufferId}, 
関連する問題