在Meteor应用程序中调用Accounts.createUser Iron-Router端点正在提供net :: ERR_EMPTY_RESPONSE

时间:2017-12-08 15:21:50

标签: jquery node.js meteor iron-router

我有一个 Meteor 应用程序,其客户端js对我的应用程序公开的API(使用Iron-Router实现服务器端)进行jQuery ajax GET调用。

客户端:

$.get('email/test@test.com/transaction/?transactionId=12344', function (data) { console.log(data); });

服务器API端:

Router.route('/email/:email/transaction',{where: 'server'})
            .get(function(){
                let email = this.params.email;
                let transactionId = this.params.query.transactionId;
                if(email === undefined) {
                    let response = { "error" : true, "message" : "Email required" };
                    this.response.setHeader('Content-Type', 'application/json');
                    this.response.statusCode = 403;
                    this.response.end(JSON.stringify(response));
                    return;
                }

                // Create the user
                let user = Accounts.findUserByEmail(email);
                if(user === undefined) {
                    Accounts.createUser({
                        email: email,
                        password: transactionId,
                        username: email,
                        profile: {
                            "transactionId" : [{transactionId: transactionId, date: moment(new Date())}]
                        }
                    });

                    this.response.setHeader('Content-Type', 'application/json');
                    this.response.statusCode = 200;
                    this.response.end(JSON.stringify({"created": true}));

                }
                else {
                    this.response.setHeader('Content-Type', 'application/json');
                    this.response.statusCode = 200;
                    this.response.end(JSON.stringify({"created": false}));
                }

            });

在localhost:3000 上运行本地 - 时 - 效果很好!调用端点,创建帐户,并返回200响应代码。

但是,当部署到我的托管服务器时,端点失败并显示net::ERR_EMPTY_RESPONSE。通过反复试验,我发现删除Accounts.createUser(...)代码会使端点正确响应,但是 - 当然 - 没有用户创建。

有谁知道为什么Accounts.createUser(...)会强制端点产生空响应? (net::ERR_EMPTY_RESPONSE

我很奇怪它在本地工作,但是,如果我能弄清楚如何在我部署的服务器上创建用户,我不在乎为什么会有差异。

0 个答案:

没有答案