Я пытаюсь отправить зашифрованную переменную из 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
Файл существует в папке виртуального хоста.
попробуй это.
POST http: // localhost: 4200 / aff.local / test.php 404 (без проблем)
** замените угловой сервер (localhost: 4200) на php сервера (например: wamp: localhost: 8080 / имя папки / имя файла)
localhost: 8080 определяет каталог www сервера wamp по умолчанию.
Я нашел решение сам.
Если вы используете только 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( );
}
)
}