作者ge002v (ge002v)
看板PHP
标题[请益] textarea 传值问题
时间Thu Apr 17 21:39:22 2014
各位大大好 小弟新手
我是用ajax传textarea里的值到另一个php页面
例如: textarea里的值是123&456
在本页用javascript alert印出来看也是123&456
但是到了另一页的php看就变成123而已
也就是说&後面的东西都不见了.....
以下附上code
本页的
<form id="box" name="form3" action="post.php" method="post">
<textarea id="box" name="article" onkeyup="send1(this.value)"></textarea>
</form>
<script type="text/javascript">
function send1(str){
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("txtHint").innerHTML=
xmlhttp.responseText;
}
}
xmlhttp.open("POST","b.php",false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-
urlencoded");
xmlhttp.send("str="+str);
}
</script>
另一页
<?php
$str=$_POST[str];
echo $str;
?>
有请各位解答 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.230.171.233
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/PHP/M.1397741965.A.7F8.html
1F:→ marlu:ajax是以网址将值带至另一页面,所以&被当成网址的一部分了 04/17 22:08
2F:→ ge002v:感谢m大 原来是这样传值的... 请问这样还有解吗? 04/17 22:32
3F:→ mmis1000:encodeURIComponent 去查一下这个 04/17 22:38
4F:→ Darkland:你 content-type 设定了 x-www-form-urlencoded 所以 04/17 22:42
5F:→ Darkland:你就真的要传 urlencoded 的值,因此请看三楼的 04/17 22:43
6F:→ ge002v:非常感谢各楼大大们! 问题解决了 在xmlhttp.send前多加个 04/17 23:01
7F:→ ge002v:str=encodeURIComponent(str); 这能动了 04/17 23:02
8F:→ ge002v: 就 04/17 23:03
小弟还有个问题想请教
ajax传阵列给php
var a=4;
var b=0;
var str=new Array(a,b);
xmlhttp.send("str="+str);
本页的js alert(str.length); 印出来是2
另一页的php印出来变阵列长度是1 value=4,0
请问为什麽php这边的长度会变成1 值会变成4,0 还多个逗号
<?php
$str=$_POST[str];
echo count((array)$str);
foreach ((array)$str as $key => $value){
echo "value=".$value."<br>";
}
?>
因为用is_array判断$str不是阵列 所以才多加(array).....
有请各位解答 谢谢
※ 编辑: ge002v (36.230.171.87), 04/21/2014 17:42:40
9F:→ danny8376:网址参数只能传文字 非文字要自己转换... 04/21 18:22