PHP 如何读取Javascript 对象的值?
发布网友
发布时间:2022-04-06 00:18
我来回答
共5个回答
热心网友
时间:2022-04-06 01:47
呵呵,这个问题我刚刚遇到过,也解决掉了,正好回答你。
Javascript端:
var data = {
"name":'aaa',
"birthday":'2011-1-1'
};
var url ="run.php?data="+data;
url = url.replace(/&/,"%%8%%"); //简单处理&符号的get传递问题;如果传参时有数字,则尽量避免或更换替换字符串。
url = url.replace(/\?/,"%%7%%"); //简单处理?符号的get传递问题;
//js程序到了这里,会把问号、and符号都转换为特定字符。
PHP端:
$data = $_REQUEST['data'];//这里最好不要使用$_REQUEST,涉及网站安全问题。
$data = str_replace('%%8%%','&',$data);//替换回原有的连接符
$data = str_replace('%%7%%','?',$data);
到这里,就又回来了!
只是经过了一个字符替换的过程,当然,你也可以采取编码的方式传输,最经典的是有一个js编码方法,然后由PHP的urlencode()函数解码,不过这种我没有使用,在js上来说,比较复杂了一些,如果你传输的数据不是太特殊,我介绍的方案已经足够使用了。
————
热心网友
时间:2022-04-06 03:05
先序列化,然后再返序列化。php有一对这样的原生函数的。serialize() and unserialize(),具体使用看手册。
热心网友
时间:2022-04-06 04:40
JS文件中:
var x = array.join('|');//用'|'把数组中的元素拼成字符串
var go = 'http://localhost/member/search.php';//相应PHP文件
var par = 'action=array&x='+x;//把字符串x传过去
var myAjax = new Ajax.Request(go,{method:'post',parameters:par});
PHP文件中:
$x = explode('|',$x);//以'|'切割字符串生成数组
//遍历使用
foreach($x as $y){
echo var_mp($y)
}
热心网友
时间:2022-04-06 06:31
var url ="run.php?data="+data;
这句话JS应该就报错了吧?
所有的客户端和服务端的传输都是用字符串文本的形式的。URL参数也不例外,你只能是将数组组织下,然后变成字符串,上传上去后,再PHP拿到自己分析出来
热心网友
时间:2022-04-06 08:39
var url ="run.php?name="+data.name+"&birthday="+data.birthday;