带有多个Headers的Angular 4 GET请求会抛出400个错误请求

时间:2018-01-31 16:16:21

标签: javascript jquery angular angular2-services

我正在尝试使用标头执行POST请求以获得响应。下面是我用于请求的Angular代码。

const headers = new HttpHeaders({
        'Content-Type': 'text/plain',
        'Token':'$1$IGinaeBw$Z2kYO175lQ5t2H5HWCdOV1',
        'User-Id':'1'
    });

 this.http.get('http://localhost/simple-codeigniter-rest-api-master/index.php/book/', {headers:headers} )
    .map(user => {
       if (user) {
            localStorage.setItem('currentUser', JSON.stringify(user));
        }
        console.log(user);
        return user;
    });

以下是我在控制台中遇到的问题。

1

虽然它在PSOTMAN中工作正常。由于角度版本不断升级。我不确定是什么问题。

注意:JQuery AJAX调用工作正常。

POSTMAN截图:

enter image description here

2 个答案:

答案 0 :(得分:-1)

import {Http, Headers, RequestOptions} from '@angular/http';

 constructor(private http: Http) {
       
 }
 
     const headers = new Headers();
        headers.append('Content-Type', 'text/plain');
        headers.append('User-Id', `$1$IGinaeBw$Z2kYO175lQ5t2H5HWCdOV1`);
        headers.append('Token', `1`);


       const options = new RequestOptions({headers: headers});
       this.http.get(
           "http://localhost:3000/contacts",
           options
       ).subscribe();

有一种可能的解决方案:

检查标题输入和内容类型(application / json,..)

答案 1 :(得分:-1)

试试这个,

在顶部添加导入

import {Http, Headers,Response, Jsonp} from '@angular/http';

添加构造函数 - > private http: Http



 var headers = new Headers();
    headers.append('Content-Type', 'text/plain');
    headers.append('user_id', '3');
    headers.append('Token', '2313131313');
    this.http.get('your api url', {headers: headers})
      .subscribe(
        (response: Response) => {
          let result = response.json();
        }
      );




这对你来说很有用