AngularJS控制器函数参数在从PHP网页发送时是未定义的

AngularJS Controller function param is undefined when sent from a PHP web page

本文关键字:未定义 网页 PHP 函数 控制器 参数 AngularJS      更新时间:2023-09-26

我有以下问题:
我正在从php页面调用一个控制器函数,如下所示:

echo '<div id="bulbsContainer" ng-controller="mainController" data-ng-init="getBulbsData('.$pole_id.')">';

而pole_id是一个url参数,与GET请求一起发送到使用

检索的页面
$pole_id = $_GET["id"];

控制器功能:

$scope.getBulbsData= function(pole_id) {
    alert(pole_id);
    $http.get("http://****/server/load.php?id=" + pole_id)
        .success(function (data) {
            $scope.poleData = data[0];
        })
}

当我的ID仅由数字组成时,例如22,它工作得很好。但是,如果ID为P22,则函数参数变为未定义。

我猜问题是JS没有类型,因此P22被认为是一个变量而不是一个值。

我尝试使用转义引号将其作为数组:[P22]或字符串'P22'发送,但没有成功。

对带有url参数的PHP页面的调用是在这一行指令中完成的:

<a ng-href="../../*****.php?id={{ info.PoleID }}" style="font-size: 18px;"> Full Data </a>

有什么想法吗?

尝试用引号括住你的值

$pole_id = "'".$_GET["id"]."'";