我在下面的beforeSave中定义了Parse Cloud Code函数。
Parse.Cloud.beforeSave(Parse.User, function(request, response) {
Parse.Cloud.useMasterKey();
var publicACL = new Parse.ACL();
publicACL.setPublicReadAccess(true);
publicACL.setPublicWriteAccess(true);
request.object.setACL(publicACL);
response.success();
});
每当我保存新的Parse.User时,此代码都会正确运行。但是,当我尝试更新预先存在的Parse.User时,代码不会执行。有什么想法吗?以下是我用来更新用户的代码。
function updateStudentTypes(id,studentType,chkBox){
var query = new Parse.Query(Parse.User);
query.get(id, {
success: function(user) {
var typeList = user.get("studentType");
if(!chkBox.checked)
typeList = removeStudentType(typeList, studentType);
else
typeList = addStudentType(typeList, studentType);
user.set("studentType", typeList);
user.save(null, {
success: function(user) {
//alert('New object created with objectId: ' + user.id);
},
error: function(user, error) {
alert('Failed to update user: ' + error.message);
}
});
},
error: function(object, error) {
alert("Error querying user: " + error);
}
});
}
答案 0 :(得分:1)
将其添加到updateStudent方法的开头:
Parse.Cloud.useMasterKey();
编辑:我认为你的代码是云代码,而不是客户端javascript。