Узловой HTTP-запрос GET в веб-приложении Angular 4 - PullRequest
1 голос
/ 20 марта 2019

Я создаю службу, которая использует Красный узел только для отправки электронной почты при срабатывании запроса GET на 127.0.0.1: 1880 / hello (порт красный узла) и Angular 4 webapp ( 127.0.0.1: 3000 ) для клиентского доступа.

Когда я захожу на страницу thr / hello из браузера , я получаю электронное письмо от узла-красного в моей личной учетной записи электронной почты.

Проблема заключается в том, что при нажатии кнопки для проверки http-запроса на узел-красный ничего не происходит.

Использование Ubuntu 16.04 LTS

узел 8,15

нпм 6,4

Узел-красный 0,20,2

Узел-красный поток:

КРАСНЫЙ УСТРОЙСТВО ОТПРАВИТЬ ПОЛУЧЕНИЕ ЭЛЕКТРОННОЙ ПОЧТЫ

[{ "ID": "35dcdbd9.a99684", "тип": "закладка", "метка": "Flow 1" , "отключено" ложь "информация": ""}, { "ID": "dcdb9a4e.db2eb8", "тип": "отладка", "г": "35dcdbd9.a99684", "имя": "", "активный": правда, "tosidebar": правда, "консоль" ложь "tostatus" ложь "полной": "полезная нагрузка", "TargetType": "MSG", "х": 450,» у ": 180," провода ": []}, {" идентификатор ":" aa98d38f.846af " "тип": "электронная почта", "г": "35dcdbd9.a99684", "сервер":" SMTP .gmail.com», "порт": "465", "безопасный": правда, "TLS": правда, "имя": "andre.def93@gmail.com", "DNAME": "", "х" : 500, "у": 320, "провода": []}, { "идентификатор": "f1aea493.ec0e78", "тип": "HTTP ответ», "Z": "35dcdbd9.a99684", "название": "", "StatusCode": "", "заголовки": {}, "х": 670, "у": 260, "провода": []}, { "идентификатор": "747c3f58.892dd", "тип": "HTTP в», "г": "35dcdbd9.a99684", "имя": "", "URL": "/ привет", "метод": "получить", "загрузить" ложь "swaggerDoc": "", "х": 120, "у": 260, "провода": [[ "dcdb9a4e.db2eb8", "aa98d38f.846af", "f1aea493.ec0e78"]]}] * +1044 *

Приложение Angular 4.1.3

Мой компонент.ts:

[...]
import { Http } from '@angular/http';
[...]
    constructor(
        private http: Http,
        [...]
    ) { }
[...]
    test(){
       this.http.get('http://127.0.0.1:1880/hello');
    }
[...]

Мой component.html:

[...]
<button class="primary" (click)="test()">
    <div *ngIf="!issueInProgress">
        <span>TEST</span>
    </div>
</button>
[...]

Спасибо всем, ребята!

1 Ответ

1 голос
/ 20 марта 2019

Есть много возможных проблем.Во-первых, я рекомендую использовать http-клиент.

(в модуле приложения):

import { HttpClientModule } from '@angular/common/http';
imports: [ .. ,HttpClientModule, .. ]

(в Component.ts (лучше в службе)

import { HttpClient } from '@angular/common/http';

.... 

 constructor(private http: HttpClient){}

test(){
 this.http.get<any>('http://127.0.0.1:1800/hello').subscribe(data=>{
 console.log("Work, recive: " + data);
},
err =>{
 console.log("Err, recive: " + err);
},
() => {
 console.log("Finish");
});
}

таким образом вы сможете увидеть, что это за ошибка и почему она не работает.

, если ошибка CORS, попробуйте:
https://github.com/node-red/node-red/issues/1347#issuecomment-363451534
или
https://thefrinkiac7.wordpress.com/node-red/enable-cors-with-node-red/

:) Пока!

...