解析云代码之前保存不在更新上运行

时间:2014-10-20 03:24:17

标签: javascript parse-platform

我在下面的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);
  }
});

}

1 个答案:

答案 0 :(得分:1)

将其添加到updateStudent方法的开头:

Parse.Cloud.useMasterKey();

编辑:我认为你的代码是云代码,而不是客户端javascript。