我要求用戶輸入他的詳細信息並提交表單,該表單將調用$ http請求到服務器並傳遞數據。
app.service('Request',function($http,$location)
var baseUrl='/system/views/files.json';
var method='GET';
var details={}
this.flightReq=function(){
$http({
method:method,
url:baseUrl,
headers:{'Content-Type': 'application/x-www-form-urlencoded'},
params: {'dep':'a', 'arl':'b','number':'c', 'date1':'d'},
cache:true
})
.success(function(data,status){
console.log(data);
console.log(status);
$location.path('/resultpresentation/example');
details.flightDet=function(){ return data }
})
.error(function(data,status){
console.log(data||"Request failed");
console.log(status);
$location.path('/');
})
};
如請求所示,一旦成功,用戶將被重定向到新的位置。 但是,在這個結果頁面上,我現在試圖呈現結果。因此,我必須將結果存儲在一個變量或函數中,我需要將其注入另一個模塊。 http請求被注入到兩個模塊中,但結果只能注入結果模塊。
但是,即使我現在注入服務請求並在控制器中使用$scope.data=Request.flightDet;
,我也無法在視圖中顯示數據。我現在可以看到它在控制檯中顯示。飛行結果僅在控制檯中(成功後,但在視圖或控制器中無法訪問)
但是,我不知道該怎麼做?我希望你能幫助我。
最佳
感謝您的回覆。我看到,我將結果存儲在'details.flightDet = function(){ return data; }'並將請求定義爲'var details = {}'。我現在可以看到結果成功到達了我的結果頁面,或者至少它在控制檯中顯示。但是,即使我現在注入服務'Request'並使用'$ scope.data = Request.flightDet;'我無法在視圖中顯示數據。你懂我的意思嗎? – Dribel 2014-10-08 08:31:14
你能否用這個新的更改更新你的問題? – 2014-10-08 08:48:04
只是做了服務的變化......並做了一些解釋 – Dribel 2014-10-08 09:05:57