2012-03-18 58 views
3

我試圖將div的內容保存到新的html文件中。 我正在使用jQuery AJAX發送數據到php。
但是,當前形式的php寫入一個空文件。使用jQuery AJAX和PHP將div的內容保存到新文件中

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'獲得正確的值嗎? 'alert('ok');'永遠運行嗎?通過分析這樣的問題,您可以更準確地確定問題出在哪裏。 – 2012-03-18 13:38:19

回答

5

請求方法屬性是type而不是method$.ajax({ method : "POST"實際上$.ajax({ type : "POST"是),並$_POST['data']$_POST['id']

+0

我發現使用簡寫$ .post(url,data_obj)方法更容易。避免這些錯誤。不需要dataType:「html」。 – 2012-03-18 13:52:30

+0

謝謝.post方法完美工作 – user1276919 2012-03-18 14:05:38

1

沒有$ _ POST [ '數據']被張貼,只有$ _POST ['身份證「]。看看這個部分:

data: {id : bufferId}, 
相關問題