Я использую Angular2 CLI для моей среды интерфейса и использую PHP для своей базы данных.
this.http.post('assets/modify.php', '')
.subscribe(result => {
console.log("success post php file");
}
);
Я хочу использовать метод post для запуска modify.php. Однако я получил ошибку:
POST XXXXX / assets / modify.php 404 (не найден)
Я могу использовать метод get для чтения PHP с тем же URL, он работает нормально. Но как я могу использовать Post для запуска PHP.
modify.php:
<?php
//lode the file
$contents = file_get_contents('button.json');
//Decode the JSON data into a PHP array.
$contentsDecoded = json_decode($contents, true);
//Modify the counter variable.
$contentsDecoded['button1Status'] = "booked";
//Encode the array back into a JSON string.
$json = json_encode($contentsDecoded);
//Save the file.
file_put_contents('button.json', $json);
?>
Структура папок:
app —— user ————— user.component.ts (здесь я использую метод get или post)
активы —- button.json
modify.php
когда я использую метод get:
URL запроса:HTTP: // локальный: 4200 / активы / modify.php
Метод запроса: GET
Код статуса: 304 Не изменен
Удаленный адрес: 127.0.0.1: 4200
Политика реферера: no-referer-when-downgrade
когда я использую почтовый метод:
URL запроса:HTTP: // локальный: 4200 / активы / modify.php
Способ запроса: POST
Код статуса: 404 не найден
Удаленный адрес: 127.0.0.1: 4200
Политика реферера: no-referer-when-downgrade
** Только для обновления от помощи людей.
Я нашел это, и это помогло мне понять, что случилось с моим сценарием:
выполнение php файлов в приложении angular2cli
Итак, я думаю, что на этапе разработки мне нужно, чтобы веб-сервер мог выполнять PHP-код. Попробуем встроенный PHP-сервер. **
Попробуйте полностью квалифицированный или хотя бы хороший относительный URL. Я собираюсь предположить, что ресурсы находятся у вас в документации, если нет, то соответствующим образом скорректируйте этот корневой слеш:
например:
/assets/modify.php
или же:
https://mywebhost/assets/modify.php
Ваш пример PHP-файла, похоже, не заботится о том, что ему что-либо отправляют, зачем использовать метод POST в ajax, почему бы просто не использовать GET?
Других решений пока нет …