PHP开发心得四
Posted jack kwok
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP开发心得四相关的知识,希望对你有一定的参考价值。
某次用php编写查询数据库数据,以json格式返回给前端页面js文件,js文件以angularJS的函数调用处理的方式进行数据显示,但数据返回正常,angularJS的函数调用却直接进入了.error而不是.success。
错误信息是:undefined。一时不清楚问题出现在哪里。
几经调试,才发现是json数据中含有回车符,这些特殊字符必须处理后。前端才能正常解析json数据。因此,调用如下函数处理后正常:
$json_string=str_replace(PHP_EOL, \' \', $json_string); echo $json_string;
2,php接收到的参数含有乱码
在网页js代码中如果不进行编码,直接取值进行传送,那么后台PHP接收到的汉字会变成乱码
$scope.DoQuery = function(pageNum) { $http.get( \'getWS_reginfo.php?ParkID=\'+sessionStorage.getItem(\'ParkID\') + \'&parkname=\'+document.getElementById(\'parkname\').value + \'&address=\'+document.getElementById(\'address\').value + \'&pageno=\'+pageNum )
接收的URL如下:
http://localhost/getWS_reginfo.php?ParkID=0000000002&parkname=&address=�䗝&pageno=0
为解决此问题,在js中对汉字参数进行编码,再传输即可,PHP端不用做任何处理:
$scope.DoQuery = function(pageNum) { $http.get( \'getWS_reginfo.php?ParkID=\'+sessionStorage.getItem(\'ParkID\') + \'&parkname=\'+encodeURI(document.getElementById(\'parkname\').value) + \'&address=\'+encodeURI(document.getElementById(\'address\').value) + \'&pageno=\'+pageNum )
此时,如果前端address参数输入“广州”二字,则PHP接收的URL如下,PHP的$_GET[\'address\']函数能取得正确的参数:
http://localhost/getWS_reginfo.php?ParkID=0000000002&parkname=&address=%E5%B9%BF%E5%B7%9E&pageno=0
以上是关于PHP开发心得四的主要内容,如果未能解决你的问题,请参考以下文章