Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Angular2收割台未正确设置_Angular_Http Headers - Fatal编程技术网

Angular2收割台未正确设置

Angular2收割台未正确设置,angular,http-headers,Angular,Http Headers,我正在使用Angular2HTTP发出一个简单的post请求 问题是它没有正确设置标题。我得到的不是设置内容类型和授权,而是 Accept:*/* Accept-Encoding:gzip, deflate, sdch, br Accept-Language:en-US,en;q=0.8 Access-Control-Request-Headers:authorization, content-type Access-Control-Request-Method:POST Connection:

我正在使用Angular2HTTP发出一个简单的post请求

问题是它没有正确设置标题。我得到的不是设置内容类型和授权,而是

Accept:*/*
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:authorization, content-type
Access-Control-Request-Method:POST
Connection:keep-alive
Host:api.joinmunch.com
Origin:http://localhost:8100
Referer:http://localhost:8100/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36
这是我的密码

    let bodyString = JSON.stringify(user); // Stringify payload
    let headers      = new Headers({ 'Content-Type': 'application/json' }); // ... Set content type to JSON
    headers.append('Authorization', 'bearer MY_AUTH_TOKEN');

    let options       = new RequestOptions({ headers: headers }); // Create a request option
    options.withCredentials = true;

    return this.http.post(this.baseUrl + 'customer/register', bodyString, { headers: headers }) // ...using post request
                         .map((res:Response) => res.json()) // ...and calling .json() on the response to return data
                         .catch((error:any) => Observable.throw(error.json().error || 'Server error')); //...errors if an
下面是响应标题

HTTP/1.1 401 Unauthorized
Server: nginx
Date: Fri, 14 Oct 2016 16:03:36 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
这只是飞行前的请求,而不是实际的请求。您可以看出,将在来自此服务器的实际请求上设置头

Access-Control-Request-Headers:authorization, content-type
飞行前请求询问服务器是否接受
内容类型
授权
标题,这是您设置的标题

如果您不了解CORS,请查看链接。也许它会帮助您解决任何实际问题,因为问题不在于没有设置标题。

这只是飞行前的请求,而不是实际的请求。您可以看出,将在来自此服务器的实际请求上设置头

Access-Control-Request-Headers:authorization, content-type
飞行前请求询问服务器是否接受
内容类型
授权
标题,这是您设置的标题


如果您不了解CORS,请查看链接。也许它可以帮助您解决任何实际问题,因为问题不在于没有设置标题。

为什么401没有得到授权作为响应?这是CORS问题吗?可能与CORS无关。你的反应是什么?检查一切。也许有一些信息可以告诉你问题出在哪里。检查你的控制台。你看到了什么?你看到真正的要求了吗?就我而言,很难说问题出在哪里。它可以是任何数量的东西。但一般来说,401表示您未经授权,可能是我不知道的坏凭证。请查看请求的响应。我刚刚更新了Question,还添加了屏幕快照,所以我在图像中看到的只是来自飞行前请求的交互。如果查看
访问控制允许标头
,它将显示服务器允许您发送的标头,其中不包括
授权
。这会导致真正的请求无法通过。为什么我得到401未授权的响应?这是CORS问题吗?可能与CORS无关。你的反应是什么?检查一切。也许有一些信息可以告诉你问题出在哪里。检查你的控制台。你看到了什么?你看到真正的要求了吗?就我而言,很难说问题出在哪里。它可以是任何数量的东西。但一般来说,401表示您未经授权,可能是我不知道的坏凭证。请查看请求的响应。我刚刚更新了Question,还添加了屏幕快照,所以我在图像中看到的只是来自飞行前请求的交互。如果查看
访问控制允许标头
,它将显示服务器允许您发送的标头,其中不包括
授权
。这将导致真正的请求无法通过