Как удалить запись из таблицы, используя Angular http.delete с PHP backend?

Я пытаюсь удалить запись из таблицы базы данных, используя Angular на веб-интерфейсе и PHP на серверной части. Я передаю id через URL и пытается вернуть его с $_GET['id'] но это не работает (нет ошибки в консоли).

PHP API:

<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: DELETE");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");

require_once("includes/initialize.php");

$db = mysqli_connect($dbhost, $dbuser, $dbpassword, $dbdatabase) or die('Could not connect to database');

$data = json_decode(file_get_contents("php://input"));

$id;

if (isset($_GET['id'])) {
$id = $_GET['id'];
}// update the ECD
if(ECD::deleteECD($id)){
echo '{';
echo '"message": "The center was deleted."';
echo '}';
}

// if unable to update the ECD, tell the user
else{
echo '{';
echo '"message": "Unable to delete the center."';
echo '}';
}

И угловой http.delete:

deleteCenter (id: number): Observable<{}> {
const url = `${this.D_ROOT_URL}${id}`;
return this.http.delete(url);
}

Я проверил URL, чтобы убедиться, что он передает правильный URL.

1

Решение

Метод delete () возвращает холодную наблюдаемую, что означает, что HTTP-запрос не отправляется, пока кто-то не подпишется на наблюдаемую. Вы должны написать это:

return this.http.delete(url).subscribe();

1

Другие решения

Других решений пока нет …