无法使用ipad mini在角度应用程序中获取数据

时间:2014-05-28 11:25:10

标签: angularjs express

我正在为Dashboard制作一个角度应用程序。我正在从我的控制器发出几个http请求。当我使用grunt构建这个项目时,它在我的机器上运行良好并从快速服务器获取数据,该服务器也在端口1222上的localhost上运行。但是当我在ipad上运行构建的代码时,应用程序无法获取数据。我完全迷失了可能的原因。

我的快递服务器代码如下:

    var express = require("express");
    var contacts = require("./db_interactions");
    var app = express();
    app.configure(function() {
    app.use(express.bodyParser());
    });

    app.use(function(req, res, next) {

     // Website you wish to allow to connect
     res.setHeader('Access-Control-Allow-Origin', req.headers.origin || '*');
     // Request methods you wish to allow
     res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
     // Request headers you wish to allow
     res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');

     // Set to true if you need the website to include cookies in the requests sent
     // to the API (e.g. in case you use sessions)
     res.setHeader('Access-Control-Allow-Credentials', true);

     // Pass to next layer of middleware
     if ('OPTIONS' == req.method) {
          res.send(200);
      } else {
         next();
      }
     });

     app.get("/:appName/users", contacts.index);
     app.get('/:appName/signup', contacts.signup);
     app.get('/:appName/overall/session', contacts.session);
     app.get('/:appName/activity/:span', contacts.overallActivity);
     app.get('/:appName/releases', contacts.releases);
     app.get('/:appName/individual/session/:username', contacts.individualSession);
     app.get('/:appName/recentactivity', contacts.recentActivity);
     app.post('/:appName/addreleases', contacts.addReleases);
     app.delete('/:appName/deletereleases/:id', contacts.deleteReleases);
     app.listen(1222, "127.0.0.1");

来自angular指令的示例http请求的结构如下:

      $http({
          method: 'GET',
          url: 'http://127.0.0.1:1222/' + 'mukund' + '/individual/session/' + user
        }).success(function(data) {

        }).
        error(function() {});

我有控制台记录了服务器端每个功能的数据,但它没有打印任何东西。我认为请求没有到达服务器。任何人都可以找出为什么请求没有到达服务器时,由ipad制作,但在我的本地系统上工作正常。                          提前谢谢....

1 个答案:

答案 0 :(得分:2)

据我所知,您无法在iOS设备上使用localhosy,因此您需要使用网络服务器。

从192.168和10.0开始的Ip地址通常是私有(本地网络)地址,可能会被阻止以及localhost。

这是您网络上的ipad或服务器的IP吗?

如果这是您网络上的IP,我会尝试在网络上托管并使用域名。