gpt4 book ai didi

javascript - 如何从 php 向 angular $http 服务抛出异常

转载 作者:行者123 更新时间:2023-11-30 17:52:05 25 4
gpt4 key购买 nike

我正在用 angularJS 开发一个博客,我使用 php 生成一个包含来自数据库的数据的 json。我的 Angular “获取文章”功能如下所示

$scope.getDetail = function() {
$http.get('php/blogGetArticle.php?id=2').success(function(json) {
$scope.jsonDetail = json;
alert('ok');
}).error(function() {
alert('error');
});
};

我的 php 'blogGetArticle.php' 看起来像这样。

<?php
$id = $_GET['id'];

$dbhost = "localhost";
$dbport = "5432";
$dbname = "pd";
$dbuser = "postgres";
$dbpass = "123";
$connect = pg_connect("host=" . $dbhost . " port=" . $dbport . " dbname=" . $dbname . " user=" . $dbuser . " password=" . $dbpass);
if(!$connect)
die("error 0"); // connect error

$query = "SELECT * FROM blog WHERE id=" . $id;
$result = pg_query($connect, $query);
if(!$result)
die('error 1'); // query error

$row = pg_fetch_row($result);
$json = '{';
$json .= '"id":"' . addslashes($row[0]) . '",';
$json .= '"title":"' . addslashes($row[1]) . '",';
$json .= '"message":"' . addslashes($row[2]) . '",';
$json .= '"category":"' . addslashes($row[4]) . '"';
$json .= '}';

echo $json;
?>

现在我尝试做的是,当我在 php 中调用某些东西时,我尝试让 angular 函数进入 .error 分支。我不知道如何解释得好。例如,当我在 php 中有一个小于 10 的 id 时,我希望 Angular 函数抛出异常,但我想从 php 文件中将其抛出到 Angular 函数中。

谢谢你,丹尼尔!

编辑:那么我该如何抛出 4xx 或 5xx 错误?

最佳答案

PHP:

try {
} catch (Exception $e) {
header("HTTP/1.1 500 Internal Server Error");
echo '{"data": "Exception occurred: '.$e->getMessage().'"}';
}

AngularJS

        , function(error) {
$log.error('Error message: '+error.data);
});

关于javascript - 如何从 php 向 angular $http 服务抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18788171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com