【问题标题】:POST request in AngularjsAngularjs 中的 POST 请求
【发布时间】:2016-02-12 16:49:00
【问题描述】:

我是 Totaljs 的新手。我编写了一个代码,尝试使用角度工厂创建具有 PUT 请求的用户:

app.factory('User', function($resource) {
    return $resource('/register', null, {
        register: { method: 'post' }
    });
});

在我的角度控制器中,当我单击注册按钮时,此方法运行:

$scope.register = function() {
    $scope.user = new User({email: $scope.email, password: $scope.password});
    $scope.user.$register();
} 

点击注册按钮后,在控制台我得到了这个:

加载资源失败:网络连接丢失。

这是我的 Totaljs 控制器:

exports.install = function(framework) {
    framework.route('/register', registerPage);
    framework.route('/register/', register, ['post']);
};

function registerPage() {
    var self = this;
    self.view('registerPage')
}

function register() {
    var self = this;
    console.log("run")
    // instead add new user I just return an existing user for test
    var User = MODEL('user').Schema

    User.find(function(err, docs) {
        self.json(docs);
    });

}

当我尝试使用 jQuery 的 $.ajax 时,它运行良好!那么问题是什么? 谢谢

【问题讨论】:

  • 不应该是$scope.user.register()而不是.$register()吗?
  • 不,没错!
  • 有趣,我从来没有在我的$resources 上这样称呼过它
  • 您知道为什么它适用于 $.ajax 帖子但不适用于此代码吗?
  • 当我使用 $save 而不是我的自定义 $register 时,服务器响应错误请求!

标签: angularjs total.js


【解决方案1】:

我向 Peter Širka 提问,他邮寄了这个答案:

你好, 没关系。我发现路线有问题:

framework.route('/register', register, ['put', 'json']);

【讨论】:

  • 框架在一个路由中支持多种方法。示例:framework.route('/register/', register, ['put', 'post', 'json'])。谢谢。
猜你喜欢
  • 2013-08-16
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
  • 2020-07-06
  • 2016-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多