0
我正在用Parse.com Javascript SDK編寫AngularJS應用程序;Parse.com創建對象參考用戶
我想發送一個請求來創建一個名爲「Activity」的對象,其中「Activity」對象具有對創建者用戶的引用(例如:「owner」)。
我該怎麼做?我需要雲代碼嗎?如果不是,那麼這不會是一個安全漏洞,任何人都可以使用某個客戶端ID來創建對象嗎?
我正在用Parse.com Javascript SDK編寫AngularJS應用程序;Parse.com創建對象參考用戶
我想發送一個請求來創建一個名爲「Activity」的對象,其中「Activity」對象具有對創建者用戶的引用(例如:「owner」)。
我該怎麼做?我需要雲代碼嗎?如果不是,那麼這不會是一個安全漏洞,任何人都可以使用某個客戶端ID來創建對象嗎?
實現此目的的安全(和正確)方法是在服務器端實現Create函數。例如:如果活動有一個「標題」字段,並且我們希望將另一個對象的引用添加爲關係列(在本例中爲用戶),我們將編寫以下雲代碼:
Parse.Cloud.define("createActivity", function (request, response) {
var Activity = Parse.Object.extend("Activity");
var activity = new Activity();
activity.set('title', request.params.activity.title);
activity.set('user', Parse.User.current());
activity.save(null, {
success: function (activity) {
response.success({activity: activity});
},
error: function (activity, error) {
response.error({ activity: activity, error: error });
}
});
});
從我們的angularJS應用程序中,我們像使用任何其他雲代碼函數一樣消費Cloud代碼:
function create() {
Parse.Cloud.run('createActivity', { activity: $scope.activity }, {
success: function (response) {
// object created!
},
error: function() {}
});
};