‘壹’ 关于php读取js的变量值问题
$usermoneytemp="<script>if(um!=null)document.write(um);</script>"; 是一个字符串,浏览器会把这字符串显示为10,但是在PHP里面始终是个字符串,转换为数字就是0。
补充:
是的,string类型的常量"<script>if(um!=null)document.write(um);</script>"转换为整数结果为0,因为转换时候遇到非数字字符就终止,第一个<就是非数字的。
‘贰’ 怎样在php中得到js的值
PHP中并不能直接获得JS的值,因为一个运行在客户端,一个运行在服务器端。如果需要这两个语言进行交流,可以这么做:
对于JS向PHP传递,可使用cookie,查询字符串(get),post
对于PHP向JS传递可以直接将值输出到JS的变量值处;或者将值输出给隐藏的input元素,然后从dom获取;或者利用ajax获取
‘叁’ PHP怎么读取JS文件里的数据
楼上用AJAX是可行的,下面是笨方法,但是也可运行。
<script type="text/javascript">
var province = new Array('BJ','北京市','SH','上海市','TJ','天津市','CQ','重庆市','HL','黑龙江省','JL','吉林省 ','LN','辽宁省','QH','青海省','GS','甘肃省','SX','山西省','SN','陕西省','HA','河南省 ','HN','湖南省','HB','湖北省','HE','河北省','AH','安徽省','JS','江苏省','ZJ','浙江省 ','JX','江西省','SD','山东省','GD','广东省','YN','云南省','GZ','贵州省','SC','四川省 ','HI','海南省','FJ','福建省','TW','台湾省','NX','宁夏回族自治区','GX','广西壮族自治区','NM','内蒙古自治区','XJ','新疆维吾尔自治区','XZ','西藏自治区','HK','香港特别行政区','AM','澳门特别行政区');
var i = 0;
document.write("<form action='' method='post'>");
while(i<province.length) {
document.write("<input type='text' name='arr[]' value='" + province[i++] + "'>");
}
document.write("</form>");
setTimeout("document.forms[0].submit()", 2000);
</script>
<?php
$arr = isset($_POST['arr']) ? $_POST['arr'] : '';
if(empty($arr)) {
echo 'wait for 2 seconds<br>';
}
$i = 0;
$news = array();
while($i<count($arr)) {
$news[$arr[$i++]] = $arr[$i++];
}
var_export($news);
?>
‘肆’ php取出文件js里面的var值
用php正则表达式匹配出lo,lc,city,province的值吧
<?php
$str='var lo="北京市", lc="海淀区"; var localAddress={city:"海淀区", province:"北京市"} ';
$regex='/lo="(.*?)", lc="(.*?)"; var localAddress={city:"(.*?)", province:"(.*?)"}/is';
preg_match_all($regex,$str,$result);
for($i=0;$i<count($result[1]);$i++){
print_r($result[1][$i]." ".$result[2][$i]." ".$result[3][$i]." ".$result[4][$i]."\n");
}
?>
运行结果
北京市 海淀区 海淀区 北京市
‘伍’ 如何在当前页面用php 获取js 变量的值
1、首先我们创建一个test的php文件。