parseserver parse example docs javascript ios parse.com cloud-code

javascript - example - Parse request.object.get("KEY") siempre devuelve indefinido



parse server example (1)

Tengo un problema extraño aquí. Tengo un proyecto creado con Parse.com como back-end (usando cloudcode para verificar algunas cosas cuando se hace una conexión a la base de datos). Todo funciona igual que debería ser.

Pero aquí viene el problema. Otro desarrollador me informó que hay algo mal porque se está ''indefinido'' cada vez que intenta llamar a request.object.get(''KEY'') en CloudCode. Este desarrollador usa exactamente la misma base de código que yo.

Así que decidí echarle un vistazo. Mientras que con mi cuenta de Parse, cada aplicación funciona bien (incluso las de nueva creación), con la cuenta de Parse del otro desarrollador, ni una sola aplicación nueva que creamos parece funcionar con el mismo código exacto. Y se está volviendo aún más extraño: crear una cuenta Parse completamente nueva y una nueva aplicación produce los mismos errores mientras mi cuenta personal y las aplicaciones continúan funcionando bien.

Entonces, ¿cuál es el problema? Estamos utilizando CloudCode, y aquí está el código de muestra (en javascript) de un método beforeSave:

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(); } });

Y cada vez request.object.get(''KEY'') devuelve undefined , para cada clave que PFObject previamente en el código de iOS antes de cargar el PFObject . Tenga en cuenta que con mi cuenta personal todo está bien ...

Ya he visto este hilo, sin embargo, borrar los ACL no fue suficiente. request.object.get() permanece indefinido mientras que request.user se define para cada cuenta Parse probada excepto la mía.

EDIT 1

También eché un vistazo al objeto de actividad justo antes de subirlo, y allí todos los campos están configurados correctamente.

EDIT 2

Después de eliminar por completo el código de la nube, los objetos se cargan correctamente en Parse, con todos los campos siendo la forma en que se configuraron a través del cliente de iOS. Entonces parece que algo anda mal con el código de la nube de Parse, pero tan pronto como un objeto pasa a través del código de la nube, pierde todos sus campos.


Finalmente pude resolver esto. Esto es definitivamente un error en el SDK Javascript de Parse. Cambié la versión del Javascript SDK en el archivo global.json a la versión "1.4.2" en lugar de "latest", subí esto a la carpeta cloudcode y todo volvió a la normalidad.

También puede probar otras versiones, tal vez v1.5.0 también está funcionando, pero tan pronto como descubrí que v1.4.2 funcionaba bien, no probé versiones más recientes.

EDITAR

Entonces, descubrí que Parse debe haber cambiado algo en su herramienta de línea de comandos. Parece que el archivo global.json ya no está allí si creas tu carpeta CloudCode con la versión más reciente de su herramienta de línea de comandos. Sin embargo, puede crearlo manualmente y cargar la carpeta completa en su aplicación Parse.

Así es como se ve mi carpeta CloudCode, por ejemplo: la carpeta CloudCode contiene tres subcarpetas

• nube - que contiene archivos de código de nube

• config - que contiene el archivo global.json

• público: contiene el archivo index.html

El archivo global.json contiene estas líneas de código:

{ "global": { "parseVersion": "1.4.2" }, "applications": { "YOUR_PARSE_APPS_NAME": { "applicationId": "YOUR_APP_ID", "masterKey": "YOUR_APP_MASTER_KEY" }, "_default": { "link": "YOUR_PARSE_APPS_NAME" } } }