【问题标题】:How to i can use return PHP variable in AngularJS?如何在 AngularJS 中使用返回 PHP 变量?
【发布时间】:2020-01-13 19:57:58
【问题描述】:

我想将变量从 PHP 中的 If - Else 结构传递到 AngularJS 脚本。我不能在 AngularJS 中使用 PHP 文件 $message 变量。

更新 PHP

$db = new connect();
$data = json_decode(file_get_contents('php://input'));
$ID = $data->id;
$result = $db->select("persons","id= ".$ID."");

if ($result == null){
$message = "Error!"; // I can't use in AngularJS
}
else{
$NewPassword = md5($ID);
$runupdate = $db->update("persons",array("password"=>$NewPassword),"id",$ID);
$message = "Success!"; // I can't use in AngularJS
}
echo json_encode($message); 

AngularJS

var app = angular.module("App", []);
app.controller("Controller", function($scope, $http, $interval){ 
$scope.Update = function (id) {
$http.post('update.php',{'id' : id}).then(function (data, status, headers, config)
{     
$scope.resultmessage = data.message;  // Thats not working
});
}
});

索引 PHP

<a ng-if="resultmessage == 'Error!' ">{{resultmessage}}</a>
<a ng-if="resultmessage == 'Success!' ">{{resultmessage}}</a>

如果我不在 PHP 中使用 if-else,它会更新。但我想发布一条消息作为更新的结果。

【问题讨论】:

  • .then 方法的签名错误。仅仅说“它不起作用”是不够的。为了回答一个问题,它必须指明究竟是什么错误。在提供解决方案之前,需要对问题进行完整描述。

标签: javascript php angularjs


【解决方案1】:

这是基本的东西。

在php中

$php_variable = "send me to angularjs controller";

在 AngularJs 控制器中。

$scope.resultmessage = <?= $php_variable; ?>; //equivalent to <?php echo $php_variable;?>

您可能需要考虑结束分号;的JavaScript。 如果为空,则将其设置为“”;

在你的情况下。

//初始化消息

$message =array();
if ($result == null){
    $message["message"] = "Error";
}
else{
    //do your db stuff. then
    $message["message"] = "Success!";
}
echo json_encode($message);// outputs {"message":"Error!"}

AngularJS

$http.post('update.php',{'id' : id}).then(function (data, status, headers, config){     
    $scope.resultmessage = data.message;  // Thats should work
    //for the actual message
    data.message.message or may just be data.message;
});

要输出 json,您希望将结果格式化为 json 这就是为什么我使用带有键值对的关联数组。 对单个字符串值执行 json_encode 将不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    • 1970-01-01
    相关资源
    最近更新 更多