【问题标题】:Change content-type on $http.delete in Angular.js在 Angular.js 中更改 $http.delete 上的内容类型
【发布时间】:2015-10-22 16:32:32
【问题描述】:

在我的 Angular 应用程序中,我使用以下方法发送带有 $http.delete 请求的配置对象:

return $http.delete('projects/' + projectID + '/activityTypes', {data: [{id: 2}]})

这会将我的 data 键的值附加到请求的正文中,如下图所示:

不过,Angular 似乎默认将 content-type 设置为 text/plain,而我需要是 JSON。

如何更改此 $http.delete 请求的内容类型?

编辑:我错误地发布了一个打开错误网络选项卡(响应标头而不是请求标头)的屏幕截图。这是正确的版本:

@charlietfl,感谢您指出这一点。

【问题讨论】:

  • 图像只显示响应头,不显示请求头。服务器是文本的一个设置

标签: javascript ajax angularjs


【解决方案1】:

经过一些研究,我发现您可以在我已经传递的配置对象中传递多个选项(例如 Content-Type),如下所示:

$http.delete('projects/' + id + '/activityTypes',
    {data: activitiesToDelete, headers: {'Content-Type': 'application/json'}});

以上内容完全按照预期工作,因此确实可以使用 Angular 发送带有 $http.delete 的正文,并使用相同的配置对象进一步自定义 http 请求。

来自 Angular 的$http documentation

  • data – {string|Object} – 作为请求消息数据发送的数据。
  • headers – {Object} – 字符串或函数的映射,它们返回表示要发送到服务器的 HTTP 头的字符串。如果 函数的返回值为 null,则不会发送标头。 函数接受配置对象作为参数。

【讨论】:

    猜你喜欢
    • 2012-09-22
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 2010-10-29
    相关资源
    最近更新 更多