Angular / HttpClient — Как разместить данные в php-файле в моем Ionic Project

Я пытался использовать модуль 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.

0

Решение

Я думаю, что вы ошибаетесь там.
PHP работает на сервисе Apache / Ngix на порту 80, а не на ионном порте обслуживания, как вы думаете, верно?
На самом деле у нас обычно есть отдельный веб-сервис в качестве поставщика данных, поэтому наш URL-адрес запроса часто this.http[get/post/put/delete]('http://server.domain/api/your-page.php', data)
Вы можете обновить угловую конфигурацию через раздел прокси-сервера, но настройки прокси-сервера, похоже, не работают после упаковки его в приложение, поэтому мой код обновляется url = baseUrl + url; прежде чем отправить его.

0

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

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