Javascript 角度$http';s转换请求不';不要更改标题

Javascript 角度$http';s转换请求不';不要更改标题,javascript,angularjs,typescript,http-headers,karma-jasmine,Javascript,Angularjs,Typescript,Http Headers,Karma Jasmine,你好 我创建RequestTransformer服务是为了更改内容类型头并序列化post数据 下面是我用来更改头并将数据序列化委托给serializeData方法(serializeData工作正常)的方法 我还创建了测试用例: describe('Test RequestTransformerService functionality', function () { let $httpBackend: IHttpBackendService; let $http: IHttpS

你好

我创建RequestTransformer服务是为了更改内容类型头并序列化post数据

下面是我用来更改头并将数据序列化委托给serializeData方法(serializeData工作正常)的方法

我还创建了测试用例:

describe('Test RequestTransformerService functionality', function () {
    let $httpBackend: IHttpBackendService;
    let $http: IHttpService;

    beforeEach(inject(function (_$httpBackend_, _$http_) {
      $httpBackend = _$httpBackend_;
      $http = _$http_;
    }));

    it('should transform post data as a regular form post', function () {
      $http({
        method: "POST",
        url: 'test-transform.com',
        transformRequest: RequestTransformer.transformAsFormPost,
        data: {
          id: 4,
          name: "John",
          status: "Best Friend"
        }
      });

      $httpBackend.expectPOST('test-transform.com',
        function (data) {
          expect(data).toEqual('id=4&name=John&status=Best+Friend');
          return data;
        },
        function (headers: Array) {
          expect(headers['Content-Type']).toEqual('application/x-www-form-urlencoded; charset=utf-8');
          return headers;
        }).respond(201, '');

      $httpBackend.flush();
    })
  });
测试运行的结果是:

预期的“应用程序/json”;字符集=utf-8'等于 '应用程序/x-www-form-urlencoded;字符集=utf-8'

原因可能是什么

describe('Test RequestTransformerService functionality', function () {
    let $httpBackend: IHttpBackendService;
    let $http: IHttpService;

    beforeEach(inject(function (_$httpBackend_, _$http_) {
      $httpBackend = _$httpBackend_;
      $http = _$http_;
    }));

    it('should transform post data as a regular form post', function () {
      $http({
        method: "POST",
        url: 'test-transform.com',
        transformRequest: RequestTransformer.transformAsFormPost,
        data: {
          id: 4,
          name: "John",
          status: "Best Friend"
        }
      });

      $httpBackend.expectPOST('test-transform.com',
        function (data) {
          expect(data).toEqual('id=4&name=John&status=Best+Friend');
          return data;
        },
        function (headers: Array) {
          expect(headers['Content-Type']).toEqual('application/x-www-form-urlencoded; charset=utf-8');
          return headers;
        }).respond(201, '');

      $httpBackend.flush();
    })
  });