angularjs - $http.post 在 ionic android 应用程序中不起作用

标签 angularjs ionic-framework ionic

在构建和运行 ionic 应用程序时,我遇到了非常奇怪的问题。我正在从服务器调用登录 API,它在浏览器中运行良好,运行时

$ionic serve --lab

但是当应用程序安装在 Android 中时,它会给出 403 错误,并且没有提供有关错误代码的任何其他信息,可能我不知道如何在 android 混合应用程序中获取浏览器控制台日志。

我有如下登录功能
 login: function(user) {
            var deferred = $q.defer();          
            $http.post(SERVER_URL + '/auth/login', {
                username: user.username,
                password: user.password
            }).success(function(response, status, headers, config) {

                if (response.data && response.data[0]) {
                    Auth.setToken(response.data[0].token);
                    Auth.setUserId(response.data[0].id);
                    deferred.resolve(response);
                } else {
                    deferred.reject(response);
                }
            }).error(function(response, status, headers, config) {               
                deferred.reject(response);
            });

            return deferred.promise;
        }

但是,所有 get 请求都可以正常工作。

最佳答案

我最近遇到了这个问题,在没有收到 403 的情况下,我无法从 iPhone 上运行的应用程序或模拟器发布任何内容,但它确实可以直接从任何浏览器(包括我手机上的浏览器)使用 Postman-chrome 插件直接运行。

这似乎是来自 Ionic 应用程序的任何 POST 请求的问题:它正在发送 Origin标题为 file:// .使用 Play Framework 2.4 后端,我不得不禁用 CORSFilter完全 (从 application.conf 中删除 play.http.filters)使其工作。我将进一步调查,也许稍后会提供更多细节。

  • 注意 - 我在客户端/应用程序端尝试了大量配置更改,包括 Cordova 白名单插件,X-Requested-With & Content-Type标题设置,<allow-navigation href="*"\> ,并没有任何效果。
  • 关于angularjs - $http.post 在 ionic android 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27619586/

    相关文章:

    javascript - Ionic Accordion 中断的切换功能。不展开第二个 Accordion 。(传递的数据太多?)

    javascript - 试图列出 Firestore 数据库的集合

    ios - Firebase authWithOPopup ("facebook") 不会重定向,留在白屏上

    angular - ionic `<ion-img>` 不适用于 domSanitizer, "SafeValue must use [property]=binding"失败

    javascript - 从单独的服务文件中从 $http 获取数据到 $scope

    angularjs - Firebase 处理列表数据

    angularjs - 在渲染模板之前编译指令

    java - 错误模拟 android ionic 框架

    ionic-framework - 屏幕上垂直和水平的 ionic 中心文本

    ionic-framework - ionic 覆盖特定 Controller 的所有后退按钮行为