2010-08-11 53 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 
?>