Angular 5 и PHP не могут POST в файл на стороне сервера

Я пытаюсь отправить зашифрованную переменную из angular в php скрипт для некоторых целей тестирования.

Вот скрипт на стороне клиента:

ngOnInit(){
let user = "am";
let key = "pizza";
let enc = crypto.AES.encrypt(user, key);
console.log(enc);
let dec = crypto.AES.decrypt(enc, key);
console.log(dec.toString(crypto.enc.Utf8));

const headerOptions = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
const params = new HttpParams().set('name', enc)
this.http.post('aff.local/test.php', params, {
headers: headerOptions
}).subscribe(
res=>{
console.log(res)
},
error=>{
console.log( );
}
)
}

и скрипт test.php:

<?php
error_reporting(E_ALL);
ini_set('log_errors', 0);
ini_set('display_errors', 1);

$host = "localhost";
$db = "dentist";
$user = "root";
$pass = "root";

$conn = new PDO("mysql:host={$host};dbname={$db};", $user, $pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->exec("SET CHARACTER SET utf8mb4");
$enc = $_POST['name'];
echo $enc;
?>

У меня следующая ошибка в ответе:

СООБЩЕНИЕ HTTP: // локальный: 4200 / aff.local / test.php 404 Не Найдено)

и во вкладке сети:

Cannot POST /aff.local/test.php

Файл существует в папке виртуального хоста.

0

Решение

попробуй это.

POST http: // localhost: 4200 / aff.local / test.php 404 (без проблем)

** замените угловой сервер (localhost: 4200) на php сервера (например: wamp: localhost: 8080 / имя папки / имя файла)

localhost: 8080 определяет каталог www сервера wamp по умолчанию.

0

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

Я нашел решение сам.

Если вы используете только aff.local/test.php, угловой будет относиться к нему как localhost:4200/yourlink автоматически.
Просто добавь http://yourlink и это исправлено.

Так что решение http://aff.local/test.php и не aff.local/test.php:

ngOnInit(){
let user = "am";
let key = "pizza";
let enc = crypto.AES.encrypt(user, key);
console.log(enc);
let dec = crypto.AES.decrypt(enc, key);
console.log(dec.toString(crypto.enc.Utf8));

const headerOptions = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
const params = new HttpParams().set('name', enc)
this.http.post('http://aff.local/test.php', params, {
headers: headerOptions
}).subscribe(
res=>{
console.log(res)
},
error=>{
console.log( );
}
)
}
0

По вопросам рекламы [email protected]