2017-05-19 7 views
0

私はangularJSの初心者です。私は私のhttp要求でヘッダーを追加したいが、私はどのように理解していないのですか?これまで私はこのコードを書いています。ヘッダなしAngularJS:Http header

オリジナルコード:

function saveUser(user, $http) { 
     var token = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjYxLCJpc3MiOiJodHRwOlwvXC8zNC4yMDQuMjIyLjExM1wvYXBpXC91c2VycyIsImlhdCI6MTQ5NTE4MDY3MCwiZXhwIjoxNDk1MTg0MjcwLCJuYmYiOjE0OTUxODA2NzAsImp0aSI6IkdkNXdUSmZQMDRhcjc2UWIifQ.dKGZTysAibFbtruvSI7GwFV61kh43CX22g8-sRV9roQ"; 

     var url = __apiRoot + "https://stackoverflow.com/users/" + user.id; 
     var dataObj = { 
      payload: JSON.stringify(user), 
      _method: "PUT", 
     } 
     return $http.post(url, dataObj); 
    } 

は、今私はそれにヘッダを追加していたコードは次のようになり、:ヘッダを追加することにより

function saveUser(user, $http) { 
     var token = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjYxLCJpc3MiOiJodHRwOlwvXC8zNC4yMDQuMjIyLjExM1wvYXBpXC91c2VycyIsImlhdCI6MTQ5NTE4MDY3MCwiZXhwIjoxNDk1MTg0MjcwLCJuYmYiOjE0OTUxODA2NzAsImp0aSI6IkdkNXdUSmZQMDRhcjc2UWIifQ.dKGZTysAibFbtruvSI7GwFV61kh43CX22g8-sRV9roQ"; 

     var url = __apiRoot + "https://stackoverflow.com/users/" + user.id; 
     var dataObj = { 
      payload: JSON.stringify(user), 
      _method: "PUT", 
     } 
     return $http({headers: { 
       'Authorization': token 
      }}).post(url, dataObj); 
    } 

、私はこのエラーを取得しています:

angular.js:14525 Error: [$http:badreq] Http request configuration url must be a string or a $sce trusted object. Received: undefined

答えて

0

誤った構文を使用しています。 $http hereの角のドキュメントを見てください。

あなたのコードは次のようになります。

$http({ 
     method: 'POST', 
     url: __apiRoot + "https://stackoverflow.com/users/" + user.id, 
     data: JSON.stringify(user) 
     headers: { 
     'Authorization': token 
     } 
    }).then(function successCallback(response) { 
     // this callback will be called asynchronously 
     // when the response is available 
     }, function errorCallback(response) { 
     // called asynchronously if an error occurs 
     // or server returns response with an error status. 
     });