解析 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 并且它可以正常工作现在好了。
开发人员。
我正在迁移一个使用 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 并且它可以正常工作现在好了。