php编程 报错Uncaught SyntaxError: Unexpected identifier?

php版本是5.6.36,apache服务器版本2.4.33,postgresql版本9.5.1
读的别人的代码,按理说直接部署好了就没问题。
初步怀疑是本地的php环境配置有问题,因为通过pg_query()函数返回来的应该是类似于数组的变量,但是现在返回的是字符串,不知道为什么。。。
php小白,接触这个项目没有玩过php,最近恶补,求大佬帮忙看看。涉及到部分gis知识,返回坐标。

返回链接

http://127.0.0.1:8092/nl/php/getpanoid.php?request=getpanoid&x=495550.6342606045&y=306595.50317500636&distance=300&callback=showSWFSV

php代码

<?php

    $curPath = dirname(__FILE__).'/';
    
    include($curPath ."ir.php");

    $dbObj = new PgPanoService2($dbHost, $dbName, $dbUser, $dbPassword, $dbPort);
    $dbObj->initDb();
    $dbObj->_requestParams = $_REQUEST;
    if(isset($_REQUEST["y"]) && isset($_REQUEST["x"])){
        $x = floatval($_REQUEST["x"]);
        $y = floatval($_REQUEST["y"]);
        $dist = isset($_REQUEST["distance"])? floatval($_REQUEST["distance"]) :300;
        $dist = $dist < 40 ? 40:$dist;
        $dbObj->getPanoIdByXY($x,$y,$dist); 
    }
    else{
        $dbObj->printOpRes(400, "missing parameter x or y!");
    }
    
?>

        function getPanoIdByXY($x, $y, $buffer=200,$printTag = true){
            $panoId = "null";
            $rlArr = $this->getRoadLinesByXY($x, $y, $buffer);
            if($rlArr && count($rlArr) > 0){
                $rlCount = count($rlArr);
                for($i = 0; $i < $rlCount; $i++){
                    $tmpRl = $rlArr[$i];
                    if($tmpRl){
                        $tmpPds = $tmpRl->getPdsByLimitDate($this->_limitDate);
                        //echo $tmpPds."\r\n";
                        if($tmpPds != ""){
                            $tableName = $this->getTableNameByPanoId($tmpPds, 0);
                            $tmpPanoId = $this->getPanoIdByXyAndTable($tableName, $x, $y, $buffer); 
                            if($tmpPanoId != ""){
                                $panoId = $tmpPanoId;
                                break;
                            }
                        }
                    }
                }
            }
            
        
            if($printTag){
                $tmpResStr = '{"panoid":"'.$panoId.'","requestx":'.$x.',"requesty":'.$y.'}';
                if($this->_requestParams && isset($this->_requestParams["callback"]) && $this->_requestParams["callback"] != ""){
                    $tmpResStr = $panoId;
                }
                $this->exportJson($tmpResStr);
            }
            else
                return $panoId;
        }

        function getPanoIdByXyAndTable($tableName, $x, $y, $buffer=200){
            $resStr = "";
            if($this->_db){
                $queryStr = "SELECT 
                      a.name as name,
                      ST_Distance(ST_GeomFromText('POINT(".$x." ".$y.")', 900913), a.geom)  as dist 
                    FROM 
                      ".$tableName." as a
                    WHERE
                    ST_Contains(ST_Buffer(ST_GeomFromText('POINT(".$x." ".$y.")', 900913), ".$buffer."),a.geom) 
                    order by dist ASC limit 1";
                 // var_dump($queryStr) ;exit;
                $result = pg_query($this->_db,$queryStr);
                var_dump($result);
                if($result === FALSE || $result === TRUE || pg_num_rows($result) == 0){
                    return null;
                }
                else{
                    while($arr = pg_fetch_array($result)){
                        if($arr && $arr["name"] != ""){
                            $resStr = $arr["name"];
                            break;
                        }
                    }
                }
                
            }
            return $resStr;
        }
阅读 4.1k
2 个回答

这是JS的报错啊,语法错误。

应该是你的解析json数据出错导致的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题