我不知道以下网址无效的原因。我成功地运行了一堆几乎相同的请求,但是这个请求没有到达服务器。它可能是ionic2中的URL长度吗?
let requestURL = 'https://myServer/php/setUserPushInfo.php?user=user&PushToken=fc0112d3936f738d9d4c197c50abf80304ab13fca48b19d539ecacf65ce58b34&OS=iOS&other=value';
this.http.get(requestURL).map(res => {
console.log(JSON.stringify(res.json()));
return res.json();
},
err => {
console.log('ERROR ' + err);
}
);
我的代码中的类似请求一直存在。在浏览器中使用requestURL
工作......?还有4个其他php
文件同时并成功运行的请求。
答案 0 :(得分:4)
在Angular 2 / Ionic 2中,如果您使用的是http模块, 只有在一个或多个订阅者订阅时才会发送请求本身。 它使用Observables概念使其有效。
只要有观察者,它就会发送请求并返回响应的observable,稍后将异步返回。 没有任何东西等待响应,就没有必要发送请求。
答案 1 :(得分:0)
试试这样:
let requestURL = 'https://myServer/php/setUserPushInfo.php?user=user&PushToken=fc0112d3936f738d9d4c197c50abf80304ab13fca48b19d539ecacf65ce58b34&OS=iOS&other=value';
this.http.get(requestURL)
.map(res => res.json())
.subscribe(data => {
console.log("Data is :",data);
observer.next(data);
},
err => {
console.log('ERROR ',err);
observer.error(err);
});
应该工作。