[英]Getting issue in error callback function in $http request using angular.js and php
[英]Return value to error callback function using PHP and angular.js
當無法使用PHP和angular.js執行sql查詢時,我需要將值返回給錯誤回調函數。我在下面解釋我的代碼。
session.php:
<?php
session_start();
$connect = mysqli_connect("localhost", "root", "Oditek123@", "******");
$result = mysqli_query($connect, "SELECT * FROM db_Admin_Master WHERE id=". $_SESSION["admin_id"]);
$data = array();
while ($row =mysqli_fetch_assoc($result)) {
$data[] = $row;
}
print json_encode($data);
?>
dashboardController.js:
var dashboard=angular.module('Channabasavashwara');
dashboard.controller('dashboardController',function($scope,$http){
$http({
method: 'GET',
url: 'php/Login/session.php',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}).then(function successCallback(response){
//console.log('session',response);
$scope.userType=response.data[0].user_name;
},function errorCallback(response) {
//console.log('session',response);
});
})
在這里我的要求是查詢何時執行變量$data
將返回成功回調函數,而當由於任何錯誤的id而不會執行時一些消息將返回錯誤回調函數。請幫助我。
$http
response
回調參數需要服務器狀態碼 ,而不是SQL錯誤或任何其他類型的消息。 因此,無論如何,如果您遇到查詢錯誤(甚至是沒有結果的成功查詢),那么如果HTTP請求的諾言得以實現,您將獲得成功 ,但響應將是SQL錯誤消息(或代碼)(如果有的話)。
您必須檢查PHP內部的查詢問題並在那里進行處理。 然后,如果需要,您可以發送帶有新HTTP狀態響應的標頭,或者僅發送原始消息文本。
例如:
<?php
session_start();
$connect = mysqli_connect("localhost", "root", "Oditek123@", "******");
$result = mysqli_query($connect, "SELECT * FROM db_Admin_Master WHERE id=". $_SESSION["admin_id"]);
$data = array();
if ($result) { // if everything goes ok
while ($row =mysqli_fetch_assoc($result)) {
$data[] = $row;
}
} else { // else, send error
$data['errno'] = mysqli_errno($connect);
$data['error'] = mysqli_error($connect);
}
print json_encode($data);
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.