无法为GET请求设置“Content-Type”标头

时间:2016-03-06 08:52:09

标签: angularjs typescript http-headers http-get

我正在尝试将我的GET请求设置为具有以下标头:

Content-Type: application/json

根据documentation,我应该设置以下内容:

  

要添加或覆盖这些默认值,只需在这些配置对象中添加或删除属性即可。为HTTP添加标头   POST或PUT以外的方法,只需添加一个新对象即可   小写的HTTP方法名称作为密钥,例如   $httpProvider.defaults.headers.get = { 'My-Header' : 'value' }

但是,app.ts中的以下行无法编译:

mainapp.config(($httpProvider: ng.IHttpProvider) => {
        $httpProvider.defaults.headers.get = {"Content-Type" : "application/json";
    });

错误是get的类型为string|(() => string)

我试过设置

mainapp.config(($httpProvider: ng.IHttpProvider) => {
    $httpProvider.defaults.headers.get = "Content-Type: application/json";
});

但它对我的GET请求没有影响。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

  

我正在尝试将我的GET请求设置为具有以下标头:

     

Content-Type:application / json

但这没有任何意义。根据定义,GET请求没有正文,因此尝试为不存在的内容指定内容类型,嗯......

您是不是想将 peopleList?TotalComp <- peopleList |>Frame.mapRowValues( fun row -> (do something to sum up) ) 标头设置为Accept?这会更有意义,因为这样你就可以向远程服务器表明你希望如何编码GET请求的响应体。

至于你的代码无法编译的原因,你似乎错过了一个结束大括号。您可以尝试像这样设置标题,但请注意这是错误的,这是一个不应该做的可怕的解决方法。通常,您应该修复损坏的服务器,强制您为GET请求提供application/json标头。

Content-Type