angularjs $ http.get无法在移动浏览器上运行

时间:2016-07-07 16:34:41

标签: angularjs ajax

我尝试使用此代码:

var url = "http://www.test.com?param=1&callback=JSON_CALLBACK"; 

$http.get(url).success(function(data, status, headers, config) {

if (data.success == 1) {

    //do somethings

} else {

    //notice

}

});

它适用于笔记本电脑的浏览器,但在移动浏览器上,它无法正常工作。

在.htaccess中,我补充道:

Header add Access-Control-Allow-Origin "*"

Header add Access-Control-Allow-Headers "x-requested-with, content-type"

Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

请帮忙!

1 个答案:

答案 0 :(得分:0)

移动浏览器和桌面浏览器对http调用的工作方式相同。您可以在代码中创建一个错误块,以查看来自服务器的错误。下面的代码是我的建议。

this._getAll = function (model) {
      var deferred = $q.defer();
      $http
        .get("your-secure-rest-url")
        .success(function (data) {
          deferred.resolve(data);
        })
        .error(function (reason) {
          deferred.reject(reason);
        });
      return deferred.promise;
 };

因为您允许访问来源" *"对于所有域,客户端没有问题,但是如果可以从所有域访问,则需要检查其余服务器,还是仅限于特定域。