当前位置: 首页 > 面试题库 >

AngularJS资源未设置Content-Type

庞意智
2023-03-14
问题内容

我正在尝试编写一个AngularJS资源模块,它将一些数据发布到服务器。默认的内容类型似乎是“ application /xml”。我试图将内容类型覆盖为“ application / x-www-form-urlencoded”。当执行普通的$http.post()时,我可以设置内容类型,当我检入Firebug时,可以看到设置正确。当我使用资源的POST方法时,无法获得要从默认值更改的内容类型。我认为我正在按照文档中的描述进行操作。

http://jsfiddle.net/vBsUH/3/

var myApp = angular.module('myApp',['myResource']);

angular.module('myResource', ['ngResource']).factory('myResource', function($resource){
   return $resource('/echo/json',{},{
      add:{ method:'POST', params:{ foo:'1' }, headers:{'Content-Type':'application/x-www-form-urlencoded'} }
   });
});

function MyCtrl($scope,$http,myResource) {
   $scope.click = function() {

      //This will make an ajax call with a content-type of application/xml    
      myResource.add();

      //this will make an ajax call with a content-type of application/x-www-form-urlencoded
      $http.post('/echo/json','foo=1',{'headers':{'Content-Type':'application/x-www-form-urlencoded'}});

   }
}​

任何有关如何使AngularJS资源发布具有不同内容类型的想法或示例,将不胜感激。


问题答案:

将响应粘贴到下面:

尽管开发文档(截至10月12日)显示在$
resource中可以覆盖标头,但尚未发布(v1.0.2或v1.1.0)。但是,该功能位于v1.0.x和master分支中。为了获得该功能,您现在可以考虑从v1.0.x分支进行构建。

如何建立:http://docs.angularjs.org/#H1_4

或者,您可以从快照构建中提取:http :
//code.angularjs.org/snapshot/

看起来该功能将在下一个版本中发布。



 类似资料:
  • 问题内容: 我正在尝试使用Angular和Phonegap加载位于远程服务器上但遇到问题的视频。在我的JSON中,URL作为纯HTTP URL输入。 我的影片范本 我所有其他数据都已加载,但是当我查看控制台时,出现以下错误: 我尝试添加配置设置,但没有解决我的问题。 问题答案: 这是唯一对我有用的解决方案: 然后在iframe中:

  • 问题内容: 我正在使用angular 1.1.5,并且正在使用$ resource将XHR制作为REST服务,但似乎$ resource并未将标头附加为X- Requested-With和XMLHttpRequest, 是正常行为? 和我是否需要手动附加标题? 问题答案: 只需将其添加到您的应用中

  • 当我尝试将content-type设置为时,我会丢失边界,并在响应中得到一个错误: 添加UTF-8字符集的正确方法是什么?

  • 问题内容: 我有一个使用$ resource的简单控制器: 我在指令中使用此控制器(在链接功能中) 但是区域是不确定的。调用是异步的,这很逻辑。 我的问题是我该如何等待结果和区域成为包含所有数据的数组? 这里指令的定义 问题答案: 如果要使用异步方法,则需要通过$ promise使用回调函数,示例如下:

  • 在阅读本文之前,请注意: 我已经做了我的研究,并阅读了其他问题,如下面的谷歌播放服务资源没有找到。检查您的项目配置,以确保包含了资源, null 我正在尝试使用谷歌的GCM服务 所以.有人吗?

  • 我有一个文件夹和包结构,如下所示 null null 致以最诚挚的问候 编辑:使用windows可能有不同的语法