2016-09-22 27 views
1

に渡す前に、応答ヘッダを削除している状況である。AngularJsは、ここに私のコントローラ

私はアイテムを作成するために、サーバにPOSTリクエストを作り、それが中に新しいアイテムの場所で「201が作成した」を返すことを期待ロケーションヘッダー。ここで2回目のリクエストを行い、完全なアイテムデータを取得します。

これらは、サーバから送信されたレスポンスヘッダです:

Status Code: 201 Created 
Connection: keep-alive 
Content-Length: 17 
Content-Type: application/json 
Date: Thu, 22 Sep 2016 08:52:20 GMT 
Location: /tasks/4 
access-control-allow-headers: Content-type, Cache-Control, Keep-Alive, Location 
access-control-allow-methods: GET, POST, PUT, DEL, OPTIONS 
access-control-allow-origin: * 
access-control-expose-headers: Content-type, Cache-Control, Keep-Alive, Location 

その後、私は私のコントローラからLocationヘッダを取得しようとすると、私が手に:私のFirefoxのコンソールで

// console.log(response.headers) 
[content-type,] { content-type="application/json; charset=utf-8"} 

、私がしようとするとエラーが発生します:

response.headers['Location'] 

注:私は角度1.5.8を使用しています$ HTTPS

ための「約束」バリアントをmmendedここに私のコントローラのコードの抜粋です:

app.controller('NewTaskCtrl', function($scope, $http){ 
    $scope.taskName = null 
    $scope.createTask = function(){ 
    var data=JSON.stringify({ Name: $scope.taskName}) 
    $http.post('http://192.168.1.129:9999/api/tasks',data) 
    .then(
     function(response){ 
     // error Here => console.log('Received Headers', response.headers) 
     console.log('Received Headers', response.headers()) 
     // Error here => $http.get('http://192.168.1.129:9999'+response.headers['Location']) 
     $http.get('http://192.168.1.129:9999'+response.headers('Location')) 
     .then (
      function(response){ 
      $scope.Tasks.push(response) 
      }, 
      function(reason){ 
      alert("Unexpected Error Ocurred:\n"+JSON.stringify(reason)) 
      } 
     ) 
     }, 
     function(reason){ 
     alert("Unexpected Error Ocurred:\n"+JSON.stringify(reason)) 
     } 
    ) 
    } 
}) 

私はヘッダを失うとどのように私はそれらを得ることができますよ理由の任意のアイデア?

EDIT。私は、問題のある行をコメントし、その場所に正しいを入れて、レコードの

答えて

1

ヘッダーとして

response.headers('Location') 

代わりの

response.headers['Location'] 

を試してみてください機能、ではないオブジェクトです。

+1

私は今は愚かだと感じます。とにかく、あなたの時間とあなたの答えに感謝のたくさんの – mtsdev

関連する問題