解析 JS SDK 在 Node.JS 中登录解析服务器 运行 = 失败

Parse JS SDK Login into Parse Server running in Node.JS = fail

开发人员。

我正在迁移一个使用 Parse Hosted 的应用程序,新代码将 运行 inside Node.JS(使用 express)。不过,我很难找出一个问题:我的 JavaScript SDK 请求总是 return "Cannot GET /parse/1/login",就好像我是请求无效的快速路线。我知道它是有效的,因为如果我在没有正确 appID 的情况下重现调用,它将 return {"error":"unauthorized"} 消息。

我正在尝试 最基本的可能版本 ,使用来自 Parse docs:

的 Node.JS 代码
var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var app = express();

var api = new ParseServer({
  databaseURI: 'mongodb://localhost:27017/dev', // Connection string for your MongoDB database
  cloud: '/home/myApp/cloud/main.js', // Absolute path to your Cloud Code
  appId: 'myAppId',
  masterKey: 'myMasterKey', // Keep this key secret!
  fileKey: 'optionalFileKey',
  serverURL: 'http://localhost:1337/parse' // Don't forget to change to https if needed
});

// Serve the Parse API on the /parse URL prefix
app.use('/parse', api);

app.listen(1337, function() {
  console.log('parse-server-example running on port 1337.');
});

Node.JS 服务器 运行 正常,我什至可以使用 cURL 请求 查询数据,完全没有问题。

我的登录代码也是最基本的可能版本,运行在加载JS SDK的页面中直接进入浏览器控制台:

Parse.User.logIn("user", "pass", {
  success: function(user) {
    console.log('ok', user);
  },
  error: function(user, error) {
    console.log('error', user, error);
  }
});

return 只是 Cannot GET /parse/1/login (它似乎来自 Express,但是 如果我删除 appID,消息会改变,所以我知道解析服务器正在获取它)。值得注意的是,如果我针对 api.parse.com 服务器发出同样的调用,它会完美运行:{"code":101,"error":"invalid login parameters"}

有什么想法吗?

抱歉,伙计们,我刚刚发现 问题是 JS SDK 版本。真的是初学者的错误,但我无法想象它需要更改 SDK,因为新的 Parse Server 应该与托管版本兼容。

郑重声明,我使用的是 JS SDK 版本 1.6.7,我 更新到 1.6.14 并且它可以正常工作现在好了。