【发布时间】:2015-07-30 19:37:08
【问题描述】:
我正在尝试使用 ajax 将文本从一个文本区域发布到 php 页面以回显到另一个文本区域。当我这样做时,它适用于大约 5 个字符,然后完全停止。我试过编码和不编码似乎没有什么区别,因为我只是在尝试简单的计划文本,比如“ddddddddddd”。
在example.html中
<!DOCTYPE html>
<html>
<body>
<style>
.center{
margin: 0 auto;
margin-left: auto;
margin-right: auto;
text-align:center;
}
</style>
<div class="center">
<textarea onkeyup="changed()" onkeydown="changed()" onkeypress="changed()" id="b1" rows="30" cols="81">
</textarea>
<textarea id="b2" rows="30" cols="81">
</textarea>
</div>
</body>
</html>
<script>
function changed(){
var text =document.getElementById("b1").value;
if(!text){
text ="";
}
var xhr;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
else {
throw new Error("Ajax is not supported by this browser");
}
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
document.getElementById('b2').value =xhr.responseText;
}
}
xhr.open('POST', 'echo.php');
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("text=" + text);
}
</script>
在 echo.php 中
<?php
$mytext = $_POST["text"];
echo $mytext;
?>
我看过几个类似的帖子,但没有一个能解决我的问题。我没有使用表格。我一定要吗? Textarea not POSTing with form
【问题讨论】:
-
您的意思是在 echo.php 文件中的 '$my' 和 'text' 之间有一个空格吗?
-
当我把它复制到这个页面时,我很糟糕,我必须手指一个空格。那不是实际代码中的问题。谢谢你!
-
每次击键发送三个请求是个非常糟糕的主意。您的服务器将很难处理所有这些请求,并且它们将出现竞争条件。
-
我会考虑这个建议。我还不知道 jQuery,但我可以看到你在说什么。感谢您的意见!
标签: javascript php html ajax