Требование: у меня есть файл php, он генерирует Excel с данными из MySQL. Я хочу вызвать его из своей формы.
Проблема: Когда я вызываю его из HTML, он обычно загружается без каких-либо проблем, но когда я звоню из Angular, он не загружается.
Сначала я показываю вам мой простой HTML-код ниже download.html
<html>
<head>
<body>
<form action="exportData.php" method="get">
<button type="submit">Submit</button>
</form>
</body>
</head>
</html>
Теперь ниже мой угловой / ионный код:
home.html
<ion-header>
<ion-navbar>
<button ion-button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<ion-title>View Complaint Open / Close</ion-title>
<ion-buttons end>
<button ion-button (click)="showdata()">{{c_status}}</button>
<button ion-button icon-only (click)="downldexcl()" type="submit" title="Download Excel File">
<ion-icon name="ios-download-outline" class="top-icon"></ion-icon>
</button>
</ion-buttons>
</ion-navbar>
</ion-header>
home.ts
import { UserProvider } from '../../providers/user/user';
...//some code
downldexcl()
{
this.user.exlDwnld().subscribe(datac => {
console.log(datac,"list");
console.log(datac);
//document.location.href = this.user._url+"download.php?file="+datac;
});
}
user.ts
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Http,Response,Headers } from '@angular/http';
import 'rxjs/add/operator/map';
import {LoadingController, ToastController, ModalController, AlertController} from "ionic-angular";
...//some code
exlDwnld()
{
// let params1_c = '&t1label=' + t1label+'&t1data=' +encodeURIComponent(t1data)+'&h1colnum=' + h1colnum+'&t2label=' + t2label+'&t2data=' + encodeURIComponent(t2data)+'&h2colnum=' + h2colnum+'&total1=' + total1+'&total2=' + total2+'&fromdt=' + fromdt+'&todt=' + todt+'&filename=' + filename+'&topheader=' + topheader+'&subheader1=' + subhead1+'&subheader2=' + subhead2;
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
return this._http.post(this._url + "exportData.php", {headers: headers})
.map((response: Response) => response.json());
}
Почему при нажатии кнопки со страницы Ionic / Angular Excel не загружается.