ajax-将javascript值保存到php
经过几个小时的努力,我想问你:) 所以我有一个php页面,可以显示来自服务器的文件。现在我可以编辑了 这些文件带有编辑器插件。 Textarea是编辑器渲染的标记。 为了从编辑器中保存更改后的文本,我有一个按钮,可以使用javascript从文本周围的pre标记中获取innerHTML。 现在我想通过ajax将该变量传递给get.php站点上的一个php变量, 因此,我可以将其保存在本地并发送到服务器 问题是,如果我点击“保存”按钮,根本没有反应。我在这里测试了许多类似ajax函数的答案,但没有一个给我一个反应:/ php主机ajax-将javascript值保存到php,javascript,php,ajax,variables,Javascript,Php,Ajax,Variables,经过几个小时的努力,我想问你:) 所以我有一个php页面,可以显示来自服务器的文件。现在我可以编辑了 这些文件带有编辑器插件。 Textarea是编辑器渲染的标记。 为了从编辑器中保存更改后的文本,我有一个按钮,可以使用javascript从文本周围的pre标记中获取innerHTML。 现在我想通过ajax将该变量传递给get.php站点上的一个php变量, 因此,我可以将其保存在本地并发送到服务器 问题是,如果我点击“保存”按钮,根本没有反应。我在这里测试了许多类似ajax函数的答案,但没有
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
...
echo "<textarea><pre id='textbox'> ";
echo $ssh->exec($display);
echo "</textarea></pre>";
echo '<input type="button" value="Save File" id="butt">';
echo "<script>
var show = document.getElementById('textbox').innerHTML;
$(document).ready(function() {
$('#butt').click(function() {
$.ajax({
type: 'POST',
url: 'get.php',
data: {'variable': show},
success: function(data){
alert(data);
}
});
});
});
</script>";
...
编辑:
这是实际工作状态:
echo "<textarea id='textbox'><pre> ";
echo $ssh->exec($display);
echo "</pre></textarea>";
echo '<input type="button" value="Save File" id="butt">';
echo "<script>
$(document).ready(function() {
$('#butt').click(function() {
var show = document.getElementById('textbox').value;
$.ajax({
type: 'POST',
url: 'get.php',
data: {'variable': show},
success: function(data){
alert(data);
},
});
});
});
</script>";
echo”“;
echo$ssh->exec($display);
回声“;
回声';
回声“
$(文档).ready(函数(){
$('#butt')。单击(函数(){
var show=document.getElementById('textbox')。值;
$.ajax({
键入:“POST”,
url:'get.php',
数据:{'variable':show},
成功:功能(数据){
警报(数据);
},
});
});
});
";
这样做应该可以:
我建议做一些小的改变,看看是否一切都正常运行
- 我可以看到pre标记在textarea关闭标记后面-尝试更改它
- 尝试放置
var show=document.getElementById('textbox').innerHTML代码>在、、butt“函数的内部
- 然后我可以在这里看到您的问题数据:
-您正在以字符串形式发送'show'-删除引号以将其作为变量发送,该变量将在PHP站点中显示为POST值{'variable':'show')},
数据:{'variable':show)}
部分中有错误。它应该是:数据:{variable:show}
。您也应该使用Firebug或Firefox开发者工具解决此类问题。更容易看出问题所在。您可以在设备工具的“网络”选项卡中确认post请求正在发生吗?如果是,状态代码是什么?顺便提一下,您发送的是字符串“show”
,而不是echo "<textarea id='textbox'><pre> ";
echo $ssh->exec($display);
echo "</pre></textarea>";
echo '<input type="button" value="Save File" id="butt">';
echo "<script>
$(document).ready(function() {
$('#butt').click(function() {
var show = document.getElementById('textbox').value;
$.ajax({
type: 'POST',
url: 'get.php',
data: {'variable': show},
success: function(data){
alert(data);
},
});
});
});
</script>";
$.ajax({
type: 'POST',
url: 'get.php',
data: {variable: show)},
success: function (data){
alert(data);