javascript - 带有 parse.com 登录的 AngularJS Controller

标签 javascript angularjs cordova parse-platform

当我在找不到 Controller 内执行此代码时:

Index.html

<!DOCTYPE html>
<html ng-app="pfcAPP">

<head>

    <body>
    <title>pfcAPP</title>
</head>
<body>

<div data-role="page">
            <div ng-class="{ 'alert': flash, 'alert-success': flash.type === 'success', 'alert-danger': flash.type === 'error' }" ng-if="flash" ng-bind="flash.message"></div>
            <div ui-view></div>
</div>

    <!-- include Parse-Server files -->
    <script type="text/javascript" src="js/parse-1.6.14.min.js"></script>
    <!-- include Angular files -->
    <script src="//code.angularjs.org/1.2.20/angular.js"></script>
<!-- include APP files -->
    <script type="text/javascript" src="files/app/app.js"></script>      


</body>

</html>

app.js

    console.log('AppController');
   angular.module('APP',[])
    .run(run);

function run() {
    // keep user logged in after page refresh
    Parse.initialize("APPid","masterkey");
    Parse.serverURL = 'http://pfc:1337/parse';
    Parse.User.logIn('luisbg', 'test', {
        success: function(user) {
            // Do stuff after successful login.
            console.log(user);
        },
        error: function(user, error) {
            // The login failed. Check error to see why.
            console.log(error);
        }
    });

}

但是如果我在 Controller 之外执行这段代码,它就会发现。

Parse.User.logIn('luisbg', 'test', {
                success: function (user) {
                  //  console.log(user);
                },
                error: function(user,error) {
                    console.log(error);
                }
            });

我收到此错误:

parse-1.6.14.min.js:15 POST http://192.168.2.103:3000/proxy/http%3A%2F%2Fpfc%3A1337%2Fparse%2Flogin 404 (Not Found) 
(index):120 s {code: 107, message: "Received an error with invalid JSON from Parse: Cannot GET /parse/login/parse/login↵"}

我已经更改了 ui.router 的 nGroute,并且我已探测在其他 Controller 中执行此代码,并且我在其他 Controller 中遇到了相同的问题。

如果我将代码从 Angular 模块中取出,我会没事的。

    console.log('AppController');
Parse.initialize("APPid","masterkey");
        Parse.serverURL = 'http://pfc:1337/parse';
        Parse.User.logIn('luisbg', 'test', {
            success: function(user) {
                // Do stuff after successful login.
                console.log(user);
            },
            error: function(user, error) {
                // The login failed. Check error to see why.
                console.log(error);
            }
        });
       angular.module('APP',[])
        .run(run);

    function run() {
        // keep user logged in after page refresh


    }

使用此代码,我可以在解析中登录或注册,但是当我在 Angular 模块内部使用时,它使用其他网址来获取登录:

GET/parse/login/parse/login 而不是 GET/parse/login

有什么想法吗?

最佳答案

我仅在 APACHE SERVER 中执行了没有phonegap 的应用程序,一切正常。

我会继续寻找问题所在

关于javascript - 带有 parse.com 登录的 AngularJS Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37485922/

相关文章:

javascript - 有没有办法使用命名箭头函数来维护对象内的词法范围?

javascript - 单击其他显示/隐藏 div 按钮时关闭事件 div

ajax - 简单的 AngularJS、AJAX 和 ASP.NET MVC 示例

java - 将 Android 布局渲染到 html div

cordova - 如何禁用 polymer 纸元件中的涟漪效应?

javascript - 如何更改我网站中的谷歌地图标记

javascript - Angular javascript Primeng growl不会将文本换行到下一行

java - 使用 Angularjs 从 Grails 后端获取 JSON 数据

javascript - 使用 ngClipboard 的 Angular Controller - 错误 : Unknown provider

android - Phonegap 中 require-2.1.1.min.js 的脚本错误