1
我做了一個控制器,從其他api獲取數據,並將其序列化爲.xls文件。sails.js視圖不加載
在我的網絡視圖中,我有一個按鈕「Create xls data」,它調用我的控制器。 然後,我的控制器使用xls下載鏈接和一個「下載數據」按鈕來對該視圖進行解析和重新加載。
我的看法import_export_data_page.ejs:
在開始按鈕「創建xls數據」顯示。
<%
if(typeof link == 'undefined'){
%>
<button type="button" class="btn btn-primary" id="button_get_xls_file">Create xls data</button>
<%
}else {
%>
<a href="<%= link %>"><button type="button" class="btn btn-primary"></button></a>
<%
}
%>
<script type="text/javascript">
$('#button_get_xls_file').click(function(){
var projectName = getCurrentServiceName(currentService);
$.get("/api/export_xls_data", { url : currentService, projectname : projectName}).done(function(data) {
});
});
</script>
在我的控制器:
exportXLS : function(req,res)
{
var request = require('request');
var categories;
//get informations
request(url + "/places", function (error, response, body) {
categories = JSON.parse(body);
/*
* Parsing tacks 3 seconds max
*/
//if file exists delete and create file
fs.exists(fileName, function (exists) {
if(exists){
fs.unlinkSync(fileName);
}
fs.writeFile(fileName, xls, 'binary',function(err){
if(err){
console.log(err);
res.status(500);
return res.send("");
}else{
var downloadLink = req.headers.host+'/xls/'+currentProject.split(' ').join('')+'_data.xls';
console.log(downloadLink);
return res.view('import_export_data_page',{link : downloadLink});
});
});
}
}
我的文件被創建。我的鏈接可以工作,但我的視圖不會重新加載。