2015-12-31 3 views
0

Я попытался обновить объект Parse из функции Parse CloudCode. Я хочу обновить status_id для одной конкретной записи, objectId которой является «vZveFx3KcP». Всякий раз, когда я вызываю следующую функцию, запись не обновляется, но всякий раз, когда я добавляю ручную запись или запись с устройства Android, она обновляется без каких-либо проблем. Для iOS я использую последние Разбирает версию «1.11.0». я получил этот вопрос только к тем записям, которые получают добавленные IOS кроссплатформенных.Не удалось обновить объект из iOS на PARSE Sdk

Может ли один Просьбу объяснить, где я буду неправильно. Я новичок в программировании Javascript так, дайте мне знать если вам нужна дополнительная информация от меня. вы можете проверить мой код ниже. Я попытался вызова функции облака из консоли API Разбор.

Parse.Cloud.define("freshFunction", function(request, response) { 

       var GameScore = Parse.Object.extend("Booking"); 
       var query = new Parse.Query(GameScore); 
       query.equalTo("objectId", "vZveFx3KcP"); 
       query.first({ 
          success: function(results) { 

          alert("Successfully retrieved " + results.length + "user_id"); 

          results.set("status_id", 2); 
          results.save(); 
          response.success(); 
          }, 
          error: function(error) { 
          alert("Error: " + error.code + " " + error.message); 
          response.error(); 
          } 
          }); 

       }); 
+0

Вы получаете какую-либо ошибку в iOS? –

+0

Я обновляю эти записи из облачного кода. Я могу извлекать и обновлять эти записи с платформы iOS. Но эти записи не обновляются, когда мы вызываем их из облачного кода. В облачном коде я получаю сообщение о успехе, но на самом деле его совсем не обновляют. Это происходит с элементами, добавленными с платформы iOS. Для функции Android и ручного ввода работает нормально –

ответ

0

Resolve d эта проблема, создавая облачную функцию и вызывая ее с платформы iOS. Добавлен следующий код в облаке.

Parse.Cloud.define("callCloudFunctionFromDevice", function(request, response) { 

        var bookfromtime = request.params.book_fromtime; 
        var booktotime = request.params.book_totime; 
        var bookdate = request.params.book_date; 
        var roommacid = request.params.room_mac_id; 
        var userid= request.params.user_id; 
        var ttl= request.params.title; 
        var desc= request.params.description; 
        var statusid= request.params.status_id; 


        var SensorsObject = Parse.Object.extend("Booking"); 
        var senorObject = new SensorsObject(); 

        senorObject.set("book_fromtime", bookfromtime); 
        senorObject.set("book_totime", booktotime); 
        senorObject.set("book_date", bookdate); 
        senorObject.set("room_mac_id", roommacid); 
        senorObject.set("user_id", userid); 
        senorObject.set("title", ttl); 
        senorObject.set("description", desc); 
        senorObject.set("status_id", statusid); 




        senorObject.save(null, { 
            success: function(gameScore) { 
            // response.success("Sensor Data is stored"); 
            response.success("success"); 
            }, 
            error: function(gameScore, error) { 
            // Execute any logic that should take place if the save fails. 
            // error is a Parse.Error with an error code and message. 
            alert('Failed to create new object, with error code: ' + error.message); 
            response.error("Failed to store object data"); 
            } 
            }); 
        }); 

раз развернув вышеприведенный код на облаке я назвал функцию «callCloudFunctionFromDevice» с платформы IOS. Пожалуйста, см. Следующий код

[PFCloud callFunctionInBackground:@"callCloudFunctionFromDevice" //This is the Parse function 
         withParameters:mDictionary 
           block:^(NSString *CalUsed1, NSError *error) { // This is where the block starts 
            if (!error) { //if the block retrieves the data with no problem, this will run 
             NSLog(@"Calories"); 
             [self hideBusyActivityView]; 
             [self.navigationController popViewControllerAnimated:YES]; 
            } 
            else 
            { 
             NSLog(@"TDEE IN FN is"); 
             [self hideBusyActivityView]; 
             [self showAlertWithMessage:error.localizedDescription]; 
            } 
           }]; 

где mDictionary - полезная нагрузка.

Thanks,

Akshay Aher.