Я пытался использовать модуль HttpClient, и он работает как шарм для получения файла JSON. Тем не менее, я пытаюсь разместить данные в php-скрипте в моем ионном проекте (src / assets / scripts / php / news.php).
src / assets / scripts / news.php:
header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');
$postdata = file_get_contents("php://input", true);
src / pages / news / news.ts: small_smile:
sendNewsToPhp(news: string){
//let data = JSON.stringify(news);
let data = news;
this.http.post("../assets/scripts/php/news.php", data, {headers: {'Content-Type': 'application/json'}})
.subscribe(
response => console.log("Res provider :", response),
error => console.log("err : ", error)
);
}
ошибка :
error: "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<title>Error</title>\n</head>\n<body>\n<pre>Cannot POST /assets/scripts/php/news.php</pre>\n</body>\n</html>\n"headers: Object { normalizedNames: Map(0), lazyUpdate: null, lazyInit: lazyInit()}
message: "Http failure response for http://localhost:8100/assets/scripts/php/news.php: 404 Not Found"name: "HttpErrorResponse"ok: false
status: 404
statusText: "Not Found"url: "http://localhost:8100/assets/scripts/php/news.php"
Я уже попробовал:
http://localhost:8100/assets/scripts/php/news.php
http://myip:8100/assets/scripts/php/news.php
Я думаю, проблема в том, что мой файл находится в моем ионном проекте. Возможно ли это сделать?
Чтобы знать -> я не могу получить доступ к своему файлу php с помощью URL.
Я думаю, что вы ошибаетесь там.
PHP работает на сервисе Apache / Ngix на порту 80, а не на ионном порте обслуживания, как вы думаете, верно?
На самом деле у нас обычно есть отдельный веб-сервис в качестве поставщика данных, поэтому наш URL-адрес запроса часто this.http[get/post/put/delete]('http://server.domain/api/your-page.php', data)
Вы можете обновить угловую конфигурацию через раздел прокси-сервера, но настройки прокси-сервера, похоже, не работают после упаковки его в приложение, поэтому мой код обновляется url = baseUrl + url;
прежде чем отправить его.
Других решений пока нет …