2010-08-11 52 views
0

我有一個字符串,通過Javascript獲得(一個div的內容!);
我想寫這個字符串到PHP,因爲我想要一個文本文件與這個內容!

這樣做的最好方法是什麼?Javascript和PHP ::怎麼辦?




編輯[1]:方法後不工作,因爲我有「<」字符,並刪除他們(我不知道爲什麼)... 例如:我有#include <stdio.h>當我打電話echo $ _REQUEST只顯示#include ...

+0

請,更具體 – Richard 2010-08-11 21:12:58

+1

的#include 在PHP? – jvenema 2010-08-11 21:50:42

+0

它沒有顯示'<'字符,因爲您的瀏覽器認爲它們是標籤。嘗試使用'echo htmlspecialchars($ _ REQUEST);'而不是使用'header('Content-type:text/plain');'在你迴應任何內容之前。然後你會看到'<'字符實際上在那裏。如果你嘗試寫入一個文件(沒有'htmlspecialchars'),它會起作用。 – qmega 2010-08-12 02:50:58

回答

0

將字符串發送到服務器,最簡單的方法是將值添加到頁面上的表單並提交它,但您可以通過提交值AJAX如果你喜歡...這裏是一個簡單的例子。

<div id="mydiv">Hello World</div> 

<form method="post" action="myphppage.php" id="myform"> 
    <textarea name="mytext" id="mytext"></textarea><br> 
    <input type="submit" value="Create File"> 
</form> 

<script type="text/javascript"> 
    document.getElementById("mytext").value = document.getElementById("mydiv").innerHTML(); 
    document.getElementById("myform").submit(); 
</script> 
0

你可以通過URL字符串文本傳遞到PHP文件 將處理它。

有很多方法來實現這一目標,一個很簡單,可能是:

var text = "some"; 
var url = "http://myserver/webapp/file.php?content=" + text; 
location.href = url; 

或形式或使用Ajax等等...

+0

不要忘了URL轉義數據。 – icktoofay 2010-08-12 04:45:01

1

對於JavaScript部分,我建議使用jQuery.ajax。例如,當點擊一個按鈕時,可以觸發它。

$.ajax({ 
    type: "POST", 
    url: "process_ajax_div.php", 
    data: { divHTML: $('#yourdiv').html() }, 
    success: function(){ alert('done!'); }, 
    error: function(){ alert('error!'); } 
}); 

對於PHP的一部分(文件process_ajax_div.php),你可以做這樣的事情:

<?php 
    $divHTML = $_POST['divHTML']; 

    // now do whatever you want with $divHTML 
?>