离子2:http获取请求不起作用(代理添加)

时间:2016-08-12 14:27:15

标签: httprequest ionic2

我使用@ angular / http中的Http发送GET请求,但服务器没有收到请求。生成的网址是正确的,因为当我记录它们并在浏览器中打开它们时(我已尝试过所有Chrome,Firefox和Safari),服务器确实会收到这些请求。

这就是我这样做的方式:

let logButtonUrl = this.urlGenerator.generateTiramisuUrlTemp(this.servletPath, 
  argMap);

console.log("logButtonUrl:"+logButtonUrl);
return this.http.get(logButtonUrl).map(this.writeSuccess);

函数writeSuccess:

private writeSuccess(res: Response) {
   let body = res.json();
   let rows_affected = body.data[0].rowsAffected;
   if (rows_affected == "1") {
       return true;
   } else {
       return false;
   }

}

我在浏览器控制台中没有收到任何错误消息,因此可能不是因为此处讨论的CORS问题: http://blog.ionic.io/handling-cors-issues-in-ionic/

我也尝试过使用代理。我在ionic.config.json中添加了这个:

{
"path": "/backendTemp",
proxyUrl": "http://128.237.217.70:8080" /*the ip address of the target server*/
}

并使用" / backendTemp"替换生成的网址中的IP地址。仍然没有工作。

对此有何建议/想法?非常感谢!

1 个答案:

答案 0 :(得分:0)

使用$ http(https://docs.angularjs.org/api/ng/service/ $ http):

.controller('RequestCtrl', function ($http) {

    $http({
      method: 'GET',
      url: 'http://128.237.217.70:8080/backendTemp'
    }).then(function successCallback(response) {
        // this callback will be called asynchronously
        // when the response is available
      }, function errorCallback(response) {
        // called asynchronously if an error occurs
        // or server returns response with an error status.
      });