2016-05-30 3 views
0

私は、http getを持つ角度のjsコントローラを持っています。私はhttpの応答値を取得する必要があります。ヘッダーでは、私は以下を送信します。応答がテキストである場合のhttp.get角度jsの取得

-H "Content-Type: application/json" -H "Authorization: Basic YGDJSDJH4564363YTESNSBS4=" 

応答は単純なテキストです。 'VA'

私のコード:

$http({ 
 
      
 
    method: 'GET', 
 
    url: 'some_url', 
 
    headers: {'Authorization': 'Basic '+tenant_auth } 
 
    }).then(function successCallback(response) { 
 
      console.log(response); 
 
    }, function errorCallback(response) { 
 
      $scope.page_error = response; 
 
      $timeout(function() { 
 
       $scope.page_error = ''; 
 
      }, 10000); 
 
     });

要求リターンOK、私は応答を印刷しようとすると、エラーがあります。

angular.min.js:117 SyntaxError: Unexpected token v in JSON at position 0 
at Object.parse (native) 
at uc (https://mltest.sorbasoft.net/machinelearner/js/angular.min.js:17:36) 
at ac (https://mltest.sorbasoft.net/machinelearner/js/angular.min.js:91:229) 
at https://mltest.sorbasoft.net/machinelearner/js/angular.min.js:92:143 
at q (https://mltest.sorbasoft.net/machinelearner/js/angular.min.js:7:355) 
at fd (https://mltest.sorbasoft.net/machinelearner/js/angular.min.js:92:125) 
at c (https://mltest.sorbasoft.net/machinelearner/js/angular.min.js:93:373) 
at https://mltest.sorbasoft.net/machinelearner/js/angular.min.js:130:226 
at n.$eval (https://mltest.sorbasoft.net/machinelearner/js/angular.min.js:144:467) 
at n.$digest (https://mltest.sorbasoft.net/machinelearner/js/angular.min.js:142:47) 

答えて

0

コンテンツタイプがapplication/jsonなので、angleはそれを解析しようとします。代わりにtext/plainを送信してください。

+0

です。試してみましたが、ヘッダに 'content-type': 'text/plain'を渡しました。しかしAPIは同じエラーを返す – maikelm

+0

ここの答え:http://stackoverflow.com/questions/27765309/angular-http-service-force-not-parsing-response-to-json – maikelm

-1

他の回答に加えて、あなたは常に可能なデフォルトはJSONある角度で$.ajaxやjQueryの

を使用します。 jQueryのデフォルトはtext

$.ajax({ 
    url: 'some_url', 
    headers: {'Authorization': 'Basic '+tenant_auth } 
    }).then(function successCallback(data) { 
      console.log(data); 
      $scope.$apply() // Do not forgot to do this every time you change scope outside of angular functions 
    }, function errorCallback(data) { 
      $scope.page_error = data; 
      $timeout(function() { 
       $scope.page_error = ''; 
       $scope.$apply() // Do not forgot to do this when you use jQuery ajax. 
      }, 10000); 
      $scope.$apply() 
     }); 
関連する問題