Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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 带HTTP基本身份验证的Angular 6 HTTP Get请求_Javascript_Json_Angular_Typescript_Rest - Fatal编程技术网

Javascript 带HTTP基本身份验证的Angular 6 HTTP Get请求

Javascript 带HTTP基本身份验证的Angular 6 HTTP Get请求,javascript,json,angular,typescript,rest,Javascript,Json,Angular,Typescript,Rest,我正在尝试使用基本身份验证访问URL URL返回JSON数据 如何将我的用户名和密码添加到下面的http请求中 private postsURL = "https://jsonExample/posts"; getPosts(): Observable<AObjects []>{ return this.http.get<AObjects[]>(this.postsURL); } private postsURL=”https://jsonExample/p

我正在尝试使用基本身份验证访问URL

URL返回JSON数据

如何将我的用户名和密码添加到下面的http请求中

private postsURL = "https://jsonExample/posts";

getPosts(): Observable<AObjects []>{
    return this.http.get<AObjects[]>(this.postsURL); 
}
private postsURL=”https://jsonExample/posts";
getPosts():可观察{
返回this.http.get(this.postsURL);
}
请参阅或

然后使用标题:

return this.http.get<AObjects[]>(this.postsURL, httpOptions); 
返回this.http.get(this.postsURL,httpOptions);

我不知道您在获得授权后到底想做什么,但要使用带有基本身份验证的简单调用获得授权,您需要执行以下操作:

let authorizationData = 'Basic ' + btoa(username + ':' + password);

const headerOptions = {
    headers: new HttpHeaders({
        'Content-Type':  'application/json',
        'Authorization': authorizationData
    })
};

this.http
    .get('{{url}}', { headers: headerOptions })
    .subscribe(
        data => { // json data
            console.log('Success: ', data);
        },
        error => {
            console.log('Error: ', error);
        });

您是否可以使用
post
方法而不是
get
?如果您使用的是
get
,那么您应该将凭据附加到请求的标题中。请看这里:非常感谢。我尝试了这个方法,得到了这个结果,因为CORS策略阻止了从源“”对“wwww.xxxxxx.de/re”的XMLHttpRequest的响应访问:对飞行前请求的响应未通过访问控制检查:它没有HTTP ok状态。@YupYup请针对新问题提出新问题。基本Auth和CORS是两个完全不同的东西。我添加了httpOptions作为您的建议。但现在我有了一个新问题。问题是get请求转换为Options请求,服务器不支持Options方法。我如何才能将请求作为Get not选项发送?@kira您使用的是
http.Get()
?您是否使用与其他方法相关的任何头,如飞行前请求?是的,我使用的是http.get()。我为{headers:headerOptions}写了一个问题。我遇到问题:无法指定为请求选项
let authorizationData = 'Basic ' + btoa(username + ':' + password);

const headerOptions = {
    headers: new HttpHeaders({
        'Content-Type':  'application/json',
        'Authorization': authorizationData
    })
};

this.http
    .get('{{url}}', { headers: headerOptions })
    .subscribe(
        data => { // json data
            console.log('Success: ', data);
        },
        error => {
            console.log('Error: ', error);
        });