Angularjs设置自定义标头参数

时间:2015-11-21 15:13:48

标签: javascript angularjs angular-ui-router

在angularjs中,我必须为POST设置自定义标头

所以我做了:

var config = { 'Content-Type': 'application/x-www-form-urlencoded', 'TenantCode': 'MYTENANT', 'LoginType': 'PASSW' };

所以我执行帖子

$http.post(urlBase + '/Token', data, config)

无论如何,当我检查我的请求时

OPTIONS /Token HTTP/1.1
Host: test.strokein.it
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://localhost:54599
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/46.0.2490.86 Safari/537.36
Access-Control-Request-Headers: accept, content-type
Accept: */*
Referer: http://localhost:54599/index.html
Accept-Encoding: gzip, deflate, sdch
Accept-Language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4

并且我没有看到我的标头参数

为什么呢?问题是什么?

2 个答案:

答案 0 :(得分:0)

我认为您的配置需要看起来像这样:

var config = { 
    headers : {
        'Content-Type': 'application/x-www-form-urlencoded', 
        'TenantCode': 'MYTENANT', 
        'LoginType': 'PASSW' 
    }
};

查看this配置规范。

答案 1 :(得分:0)

那是你的飞行前请求 您有一个CORS问题,因为您正在从Comparable.Slocalhost进行测试 轻松修复就是将测试脚本上传到服务器。

但一般情况下,浏览器会在收到服务器的OK CORS响应后再发送一个请求,即

test.strokein.it

然后,您应该看到自定义标头以及该POST请求的数据。

在此处阅读更多内容:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS