无法从 Angularjs 调用 Closure Compiler Web 服务

Unable to call Closure Compiler web service from Angularjs

尝试将 google closure-compiler 与 Angular js 一起使用,这是我的 code/function:

$scope.processForm = function(js_code) {

  var js_code_lenght = js_code.length;
  alert(js_code_lenght);
  console.log($scope.formData);
  $http({
    method: 'POST',
    url: 'http://closure-compiler.appspot.com/compile',
    ///data    : $.param($scope.formData),  // pass in data as strings
    params: {
      'output_info': 'compiled_code',
      'output_format': 'text',
      'compilation_level': 'WHITESPACE_ONLY',
      'js_code': js_code
    },
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
    // set the headers so angular passing info as form data (not request payload)
  })
  .success(function(data) {
    console.log(data);

    if (!data.success) {
      // if not successful, bind errors to error variables
        console.log(data);
    } else {
      // if successful, bind success message to message
      $scope.message = data.message;
    }
  });
};

问题出在请求 header 中,我收到此错误:

POST http://closure-compiler.appspot.com/compile?compilation_level=WHITESPACE_ON…%0D%09%09%09%7D;%0D+%7D();%0D&output_format=text&output_info=compiled_code 411 (Length Required)

几乎是错误代码 411 () 需要长度。 我想知道是否有人有解决这个问题的想法。我一直在谷歌搜索这个,我还没有找到解决方案。谢谢。

您必须提供您的 Content-Length header。大概是这样的;

'Content-Length': $.param($scope.formData).length,