2017-07-27 13 views
0

私のサービスの出力をコントローラの呼び出し変数 "response"に戻そうとしています。サービスは呼び出されますが、出力もありますが、私の呼び出しに戻ってくることはありません。私はここで間違っていますか?AngularJSのサービスから戻り値が返されない

this.AssociatetoJob1 = function (application) { 
    var config = { 
     headers: { 
      'contentType': 'application/json; charset=utf-8;' 
     } 
    }; 
    return $http.post('/api/Application/AddApplication', 
     JSON.stringify(application), config).then(function (result) { 
      return result.data; 
     });  
} 

そして、以下は私の呼び出しコントローラからのラインである:あなたのcontentTypeがある

var response = CandidateService.AssociatetoJob1(appInfom); 
+0

[この]の重複(...それはあなたを助けたホープhttps://stackoverflow.com/questions/14220321/how-do-i-return-the-response私は本当に "それが決して私の呼び出しに戻っていない"ということを意味しているかどうか、(これまでに '応答'変数の兆候は検査されていないので)どうなるのかは分かりません。 – Quentin

+0

申し訳ありませんが、どういう意味ですか? – ShK

+0

それは私たちの2人になります。 – Quentin

答えて

0

wrong.ChangeそれをこのContent-Type

JSのような:

this.AssociatetoJob1 = function (application) { 
    var config = { 
     headers: { 
      'Content-Type': 'application/json; charset=utf-8;' 
     } 
    } 
    return $http.post('/api/Application/AddApplication', JSON.stringify(application), config).then(function (result) { 
     return result.data; 
    }); 

} 

HTML

var response = CandidateService.AssociatetoJob1(appInfom); 

することはでき決議された約束を.then使用して、APIの呼び出しによって返された詳細情報を取得します。上記のコード

response.then(function(result){ 
    console.log(result.data); 
}) 
+0

なぜdownvote? :/ – Vivz

0
this.AssociatetoJob1 = function (application) { 
    var config = { 
     headers: { 
      'contentType': 'application/json; charset=utf-8;' 
     } 
    } 
    return $http.post('/api/Application/AddApplication', JSON.stringify(application), config).then(function (result) { 
     return result.data; 
    }); 

} 

オブジェクトを約束返すん。あなたは、コントローラに以下のような何かをする必要があり、この活用するように:あなたの「this.AssociatetoJob1」機能では

var responseData ; 
    CandidateService.AssociatetoJob1(appInfom).then(function(res‌​ponse){ 
    responseData = response.data ; 
    }) 
0

を、あなたは、コールバックを使用している。この中

return $http.post('/api/Application/AddApplication', JSON.stringify(application), config).then(function (result) { 
    return result.data; 
}); 

ようなサービスを呼び出し機能これに代えて、サービスの呼び出し中に、ちょうどあなたのサービスコールから.then()コールバックを削除し、「this.AssociatetoJob1」メートルを呼び出すことを意味し

return $http.post('/api/Application/AddApplication', JSON.stringify(application), config); 

のようなサービスを呼び出しますethodよう

this.AssociatetoJob1(application).then(function(response){console.log(response.Data)}); 

はおそらく

関連する問題