我这边有一个奇怪的问题.我有一个使用Parse.com构建的项目作为后端(使用云代码来验证与数据库建立连接时的某些事情).一切都按照应有的方式运作.
但问题来了.另一位开发人员向我报告说有一些错误,因为他每次尝试使用request.object.get('KEY')CloudCode时都会"未定义" .这个开发人员使用与我完全相同的代码库.
所以我决定看看它.使用我的Parse帐户,每个应用程序都可以正常工作(甚至是新创建的应用程序),使用其他开发人员的Parse帐户,而不是我们创建的单个新应用程序似乎使用完全相同的代码.它变得更加陌生 - 创建一个全新的Parse帐户和一个新的应用程序产生相同的错误,而我的个人帐户和应用程序继续正常工作.
那么问题是什么?我们正在使用CloudCode,这里是beforeSave方法的示例代码(在javascript中):
Parse.Cloud.beforeSave('Activity', function(request, response) {
var currentUser = request.user;
var objectUser = request.object.get('fromUser');
if(!currentUser || !objectUser) {
response.error('An Activity should have a valid fromUser.');
} else {
response.success();
}
});
Run Code Online (Sandbox Code Playgroud)
对于我之前在iOS代码中定义的每个键,每次request.object.get('KEY')返回undefined之前都会返回PFObject.请注意,使用我的个人帐户一切都很好......
我已经看过这个帖子,但是删除ACL并没有做到这一点.request.object.get()保持未定义,同时request.user为除了我的每个测试的Parse帐户定义.
编辑1
我还在上传活动对象之前查看了活动对象,并且所有字段都已正确设置.
编辑2
完全删除云代码后,对象被正确上传到Parse,所有字段都是通过iOS客户端设置的方式.因此,Parse的云代码似乎有问题,但是一旦对象通过云代码,它就会丢失其所有字段.