Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.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
Angularjs 无法设置';内容类型';GET请求的标头_Angularjs_Typescript_Http Headers_Http Get - Fatal编程技术网

Angularjs 无法设置';内容类型';GET请求的标头

Angularjs 无法设置';内容类型';GET请求的标头,angularjs,typescript,http-headers,http-get,Angularjs,Typescript,Http Headers,Http Get,我正在尝试将GET请求设置为具有以下标头: Content-Type: application/json 根据以下内容,我应该设置以下内容: 要添加或覆盖这些默认值,只需从这些配置对象中添加或删除属性即可。为HTTP文件添加头的步骤 方法而不是POST或PUT,只需使用 使用小写的HTTP方法名称作为密钥,例如。 $httpProvider.defaults.headers.get={'My Header':'value'} 但是,myapp.ts中的以下行未编译: mainapp.confi

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

Content-Type: application/json
根据以下内容,我应该设置以下内容:

要添加或覆盖这些默认值,只需从这些配置对象中添加或删除属性即可。为HTTP文件添加头的步骤 方法而不是POST或PUT,只需使用 使用小写的HTTP方法名称作为密钥,例如。
$httpProvider.defaults.headers.get={'My Header':'value'}

但是,my
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请求没有影响

谢谢你的帮助

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

Content-Type: application/json
内容类型:application/json

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

您不是有意将
Accept
标题设置为
application/json
?这将更有意义,因为这样您可以向远程服务器指示您希望如何对GET请求的响应体进行编码

至于你的代码为什么不能编译,你似乎错过了最后一个大括号。您可以尝试这样设置标题,但请注意,这是错误的,是一个不应该做的糟糕的解决方法。通常,您应该修复损坏的服务器,该服务器强制您为GET请求使用
内容类型

if (!$httpProvider.defaults.headers.get) {
    $httpProvider.defaults.headers.get = { };
}
$httpProvider.defaults.headers.get["Content-Type"] = "application/json";
我正在尝试将GET请求设置为具有以下标头:

Content-Type: application/json
内容类型:application/json

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

您不是有意将
Accept
标题设置为
application/json
?这将更有意义,因为这样您可以向远程服务器指示您希望如何对GET请求的响应体进行编码

至于你的代码为什么不能编译,你似乎错过了最后一个大括号。您可以尝试这样设置标题,但请注意,这是错误的,是一个不应该做的糟糕的解决方法。通常,您应该修复损坏的服务器,该服务器强制您为GET请求使用
内容类型

if (!$httpProvider.defaults.headers.get) {
    $httpProvider.defaults.headers.get = { };
}
$httpProvider.defaults.headers.get["Content-Type"] = "application/json";

请注意,第一次尝试时在
“application/json”
之后缺少大括号。请注意,第一次尝试时在
“application/json”
之后缺少大括号。这可能没有任何意义,但我的IIS服务器需要此内容类型。我得到了一个错误,没有它:
Message=请求包含一个实体体,但没有内容类型头。此资源不支持推断的媒体类型“application/octet stream”。
Accept与此无关。@Mugen你他妈的怎么用实体体发送GET请求?@Mugen,IIS与此无关。IIS不需要任何头。在上面运行的是您的代码。同时查看错误消息:
请求包含实体正文,但没有内容类型标题
。这看起来很奇怪,因为GET请求的定义中没有任何主体。因此,我建议您修复服务器端代码。在这里,你不能对客户做太多的事情。客户端框架会从请求中删除无意义的头是正常的(就像在您的例子中,使用GET动词时是一个Content-Type头)。对于代码的编译,我得到:“{”Content-Type“:string;}”不能分配给类型“string |(()=>string)”。类型“{”Content-Type“:string;}”不可分配给类型“()=>string”。请这样尝试:
$httpProvider.defaults.headers.get['Content-Type']='application/json'这可能没有任何意义,但我的IIS服务器需要此内容类型。我得到了一个错误,没有它:
Message=请求包含一个实体体,但没有内容类型头。此资源不支持推断的媒体类型“application/octet stream”。
Accept与此无关。@Mugen你他妈的怎么用实体体发送GET请求?@Mugen,IIS与此无关。IIS不需要任何头。在上面运行的是您的代码。同时查看错误消息:
请求包含实体正文,但没有内容类型标题
。这看起来很奇怪,因为GET请求的定义中没有任何主体。因此,我建议您修复服务器端代码。在这里,你不能对客户做太多的事情。客户端框架会从请求中删除无意义的头是正常的(就像在您的例子中,使用GET动词时是一个Content-Type头)。对于代码的编译,我得到:“{”Content-Type“:string;}”不能分配给类型“string |(()=>string)”。类型“{”Content-Type“:string;}”不可分配给类型“()=>string”。请这样尝试:
$httpProvider.defaults.headers.get['Content-Type']='application/json'