Angular ionic framework错误-URL:null的响应状态为0
我正在开发ionic应用程序。在服务器端有CodeIgniter。存在CORS问题,因此登录不起作用。 在浏览器中工作正常,但在模拟器和设备中存在此错误- URL为null的响应状态为0 搜索,尝试了很多,但没有找到一个可行的解决方案。请检查下面的代码并帮助我解决问题 ionic.config.jsonAngular ionic framework错误-URL:null的响应状态为0,angular,ionic-framework,Angular,Ionic Framework,我正在开发ionic应用程序。在服务器端有CodeIgniter。存在CORS问题,因此登录不起作用。 在浏览器中工作正常,但在模拟器和设备中存在此错误- URL为null的响应状态为0 搜索,尝试了很多,但没有找到一个可行的解决方案。请检查下面的代码并帮助我解决问题 ionic.config.json "proxies": [ { "path": "/login", "proxyUrl": "http://www.mydomain.coo/members/l
"proxies": [
{
"path": "/login",
"proxyUrl": "http://www.mydomain.coo/members/login"
},
{
"path": "/update",
"proxyUrl": "http://www.mydomain.coo/members/update"
},
{
"path": "/register",
"proxyUrl": "http://www.mydomain.coo/members/register"
},
login.ts
login() {
this.showLoader('Authenticating...');
this.postData = { isApp: '1', key: 'login', email:this.email, password:this.password };
let data = JSON.stringify(this.postData);
this.auth.login( this.postData ).then((result) => {
this.loading.dismiss();
this.data = result;
if ( this.data.status == true )
{
localStorage.setItem('id', this.data.id);
this.navCtrl.setRoot(TabsPage);
}
else
{
this.showLoader('Invalid Credentials...');
this.loading.present();
setTimeout(() => {
this.loading.dismiss();
}, 2000);
}
}, (err) => {
this.loading.dismiss();
this.presentToast(err);
});
}
login(postData) {
return new Promise((resolve, reject) => {
let headers = new Headers( {
'Access-Control-Allow-Origin' : '*',
'Access-Control-Allow-Methods' : 'POST, GET, OPTIONS, PUT',
'Content-Type': 'application/json; charset=UTF-8',
'Accept': 'application/json'
});
this.http.post('/login', JSON.stringify(postData), {headers: headers})
.subscribe(res => {
resolve(res.json());
}, (err) => {
reject(err);
});
});
}
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
header("Access-Control-Allow-Headers: X-PINGOTHER, Content-Type");
header("Access-Control-Max-Age: 86400");
验证服务.ts
login() {
this.showLoader('Authenticating...');
this.postData = { isApp: '1', key: 'login', email:this.email, password:this.password };
let data = JSON.stringify(this.postData);
this.auth.login( this.postData ).then((result) => {
this.loading.dismiss();
this.data = result;
if ( this.data.status == true )
{
localStorage.setItem('id', this.data.id);
this.navCtrl.setRoot(TabsPage);
}
else
{
this.showLoader('Invalid Credentials...');
this.loading.present();
setTimeout(() => {
this.loading.dismiss();
}, 2000);
}
}, (err) => {
this.loading.dismiss();
this.presentToast(err);
});
}
login(postData) {
return new Promise((resolve, reject) => {
let headers = new Headers( {
'Access-Control-Allow-Origin' : '*',
'Access-Control-Allow-Methods' : 'POST, GET, OPTIONS, PUT',
'Content-Type': 'application/json; charset=UTF-8',
'Accept': 'application/json'
});
this.http.post('/login', JSON.stringify(postData), {headers: headers})
.subscribe(res => {
resolve(res.json());
}, (err) => {
reject(err);
});
});
}
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
header("Access-Control-Allow-Headers: X-PINGOTHER, Content-Type");
header("Access-Control-Max-Age: 86400");
Codeigniter index.php文件我有这个
login() {
this.showLoader('Authenticating...');
this.postData = { isApp: '1', key: 'login', email:this.email, password:this.password };
let data = JSON.stringify(this.postData);
this.auth.login( this.postData ).then((result) => {
this.loading.dismiss();
this.data = result;
if ( this.data.status == true )
{
localStorage.setItem('id', this.data.id);
this.navCtrl.setRoot(TabsPage);
}
else
{
this.showLoader('Invalid Credentials...');
this.loading.present();
setTimeout(() => {
this.loading.dismiss();
}, 2000);
}
}, (err) => {
this.loading.dismiss();
this.presentToast(err);
});
}
login(postData) {
return new Promise((resolve, reject) => {
let headers = new Headers( {
'Access-Control-Allow-Origin' : '*',
'Access-Control-Allow-Methods' : 'POST, GET, OPTIONS, PUT',
'Content-Type': 'application/json; charset=UTF-8',
'Accept': 'application/json'
});
this.http.post('/login', JSON.stringify(postData), {headers: headers})
.subscribe(res => {
resolve(res.json());
}, (err) => {
reject(err);
});
});
}
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
header("Access-Control-Allow-Headers: X-PINGOTHER, Content-Type");
header("Access-Control-Max-Age: 86400");
将auth-service.ts中的代码替换为
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
从您的auth-service.ts
let headers = new Headers( {
'Access-Control-Allow-Origin' : '*',
'Access-Control-Allow-Methods' : 'POST, GET, OPTIONS, PUT',
'Content-Type': 'application/json; charset=UTF-8',
'Accept': 'application/json'
});
将auth-service.ts中的代码替换为
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
从您的auth-service.ts
let headers = new Headers( {
'Access-Control-Allow-Origin' : '*',
'Access-Control-Allow-Methods' : 'POST, GET, OPTIONS, PUT',
'Content-Type': 'application/json; charset=UTF-8',
'Accept': 'application/json'
});
步骤1:
将其置于php代码之上
header('Access-Control-Allow-Origin:');标题('Access-Control-Allow-Headers:')代码>
步骤2:
创建一个.htaccess文件并粘贴下面的代码
标题集访问控制允许来源“*”标题集访问控制允许标题“*”
快乐编码,享受第1步:
将其置于php代码之上
header('Access-Control-Allow-Origin:');标题('Access-Control-Allow-Headers:')代码>
步骤2:
创建一个.htaccess文件并粘贴下面的代码
标题集访问控制允许来源“*”标题集访问控制允许标题“*”
快乐编码,享受