Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用get()将数据从node.js发送到angular_Javascript_Node.js_Angular_Express_Get - Fatal编程技术网

Javascript 使用get()将数据从node.js发送到angular

Javascript 使用get()将数据从node.js发送到angular,javascript,node.js,angular,express,get,Javascript,Node.js,Angular,Express,Get,我想用angular从node.js文件中检索数据(数组)。 我尝试了我的node.js文件: app.get('/search', function(req, res){ res.send(data); }); 我很难在角度上找到它。 我创建了一个服务: data: any; getDictionnary(): Observable<String[]> { var dataGet = this.http.get('/search').pipe(map(data

我想用
angular
node.js
文件中检索数据(数组)。 我尝试了我的
node.js
文件:

app.get('/search', function(req, res){
    res.send(data);
});
我很难在角度上找到它。 我创建了一个服务:

data: any;

getDictionnary(): Observable<String[]> {
    var dataGet = this.http.get('/search').pipe(map(data => this.data=data.json()));
    console.dir(dataGet);
    return dataGet;
};

ngOnInit() {
    this.data = this.getDictionnary();
}

你需要订阅可观察的

     let observable: Observable<Response> = this.http.get('/search',requestOptions);
     observable.subscribe((response: Response) => {
     let responseData: any = response.arrayBuffer().byteLength > 0 ? response.json() : {}; 
 });
let observable:observable=this.http.get('/search',requestOptions);
可观察。订阅((响应:响应)=>{
让responseData:any=response.arrayBuffer().ByTeleLength>0?response.json():{};
});
试试这个

data: any;

getDictionnary(): Observable<String[]> {
    return this.http.get('/search').pipe(map(data => this.data=data.json()));
};

ngOnInit() {
    this.getDictionnary().subscribe((response) => {
       this.data = response;
    });
}
数据:任意;
getDictionnary():可观察{
返回this.http.get('/search').pipe(map(data=>this.data=data.json());
};
恩戈尼尼特(){
this.getDictionnary().subscribe((响应)=>{
这个数据=响应;
});
}

您可以尝试以下解决方案:

在HttpService中:

  import { Injectable } from '@angular/core';

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

    import { Observable ,  Subject } from 'rxjs';

    @Injectable({
        providedIn: 'root'
    })
    export class HttpService {

        constructor(private httpClient: HttpClient) {


        }

      getData(url,body, options): Observable<any>{
          return this.httpClient.get(url, options);
        }
    }

我假设(从
res.send
)您正在使用ExpressJS?如果是,请贴上标签。另外,运行角度代码的页面是否与
/search
相同?(使用相对路径表示“是”,但…)我在您的案例中使用过,您在angular get方法中没有使用正确的路径我希望页面上有数据
http://localhost:4200/search
所以在get中我必须放置'/search'就是这样吗?
app.get('/search',function(req,res){console.log(data)res.send(data);});像这样。我试过这个,但还是一样。我在我的服务中创建了一个简单的
Display()?请用console.log()更新答案我只知道我的对象是可观察的你可以添加后端发送的json响应我没有json但我添加了控制台中的内容我如何在get()中写入选项?这里选项是请求的额外参数,如:选项={headers:newhttpheaders({“Authorization”:“Bearer”+this.session.get(“access_token”),“Content Type”:“application/json”})
  import { Injectable } from '@angular/core';

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

    import { Observable ,  Subject } from 'rxjs';

    @Injectable({
        providedIn: 'root'
    })
    export class HttpService {

        constructor(private httpClient: HttpClient) {


        }

      getData(url,body, options): Observable<any>{
          return this.httpClient.get(url, options);
        }
    }
private data: string[] = [];
constructor(private http: HttpService){
this.getDictionnary();
}

getDictionnary(){

this.http.getData(url,options).subscribe((resp:any) => {

 this.data = resp.data

}
}