2016-07-29 8 views
0

Попытка использовать Google Closure-компилятор с Угловое JS это мой код/​​функция:Невозможно выполнить вызов веб-службы Закрытие компилятора от Angularjs

$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; 
    } 
    }); 
}; 

Проблема заключается в заголовке запроса, я получаю эту ошибку:

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() Требуется длина. Интересно, у кого-то есть идея решить эту проблему. Я искал это, и я не нашел решения. Благодарю.

+0

Вы пытаетесь использовать заголовок Content-Length? – Tom

ответ

0

Вы должны предоставить свой заголовок Content-Length. Вероятно, это что-то похожее;

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