更改Angular.js

时间:2015-10-21 18:09:19

标签: javascript ajax angularjs

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

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

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

enter image description here

但是,Angular似乎默认将内容类型设置为text/plain,我需要是JSON。

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

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

enter image description here

@charlietfl,谢谢你指出了这一点。

1 个答案:

答案 0 :(得分:0)

经过一些研究后我发现你可以在我已经传递的配置对象中传递多个选项(例如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,不会发送标头。   函数接受配置对象作为参数。
  •