Getting a 403 (Forbidden) when trying to save object using Javascript

Hello Team.

I’m getting an error when trying to save an object, in this case de Attendee object, funny thing is that the same code for Ponent object is not giving an error.

App Id: 7B83ACB6-BC5A-0265-FFE5-2A5F13798C00

Can you help me with this?

Thanks in advance

Error:

backendless.js:360 PUT https://api.backendless.com/v1/data/Attendee 403 (Forbidden)sendRequest @ backendless.js:360ignoreCache @ backendless.js:218Backendless._ajax_for_browser @ backendless.js:382save @ backendless.js:1034saveAttendee @ scripts.js:132(anonymous function) @ scripts.js:298dispatch @ jquery-1.11.1.min.js:3r.handle @ jquery-1.11.1.min.js:3
backendless.js:384 Uncaught [object Object]Backendless._ajax_for_browser @ backendless.js:384save @ backendless.js:1034saveAttendee @ scripts.js:132(anonymous function) @ scripts.js:298dispatch @ jquery-1.11.1.min.js:3r.handle @ jquery-1.11.1.min.js:3

Code:


var APPLICATION_ID = '7B83ACB6-BC5A-0265-FFE5-2A5F13798C00';
var SECRET_KEY = 'XXXXXXX;
var VERSION = 'v1';




Backendless.initApp(APPLICATION_ID, SECRET_KEY, VERSION);
//Backendless.enablePromises();




function Attendee(args) {
    args = args || {};
    this.telefono = args.telefono || "";
    this.red_social = args.red_social || "";
    this.razon = args.razon || "";
    this.resguardo_valido = args.resguardo_valido || "";
    this.pais = args.pais || "";
    this.org_sociedad_civil = args.org_sociedad_civil || "";
    this.orientacion_sexual = args.orientacion_sexual || "";
    this.nombre = args.nombre || "";
    this.email = args.email || "";
    this.estado = args.estado || "";
    this.edad = args.edad || "";
    this.direccion = args.direccion || "";
    this.cambio_identidad = args.cambio_identidad || "";
    this.cambio_en = args.cambio_en || "";
    this.apellido_paterno = args.apellido_paterno || "";
    this.apellido_materno = args.apellido_materno || "";
}


function Ponent(args) {
    args = args || {};
    this.tema = args.tema || "";
    this.telefono = args.telefono || "";
    this.red_social = args.red_social || "";
    this.razon = args.razon || "";
    this.resguardo_valido = args.resguardo_valido || "";
    this.razon_resguardo = args.razon_resguardo || "";
    this.pais = args.pais || "";
    this.org_ong_osc = args.org_ong_osc || "";
    this.nombre = args.nombre || "";
    this.nombre_tag = args.nombre_tag || "";
    this.logo = args.logo || "";
    this.informacion = args.informacion || "";
    this.email = args.email || "";
    this.estado = args.estado || "";
    this.edad = args.edad || "";
    this.direccion = args.direccion || "";
    this.cambio_en_prodiana = args.cambio_en_prodiana || "";
    this.apellido_paterno = args.apellido_paterno || "";
    this.apellido_materno = args.apellido_materno || "";


}






function saveAttendee(){


    //Attendee
var nombre = document.getElementById("r-form-first-name").value;
var apellido_paterno = document.getElementById("r-form-last-name").value;
var apellido_materno = document.getElementById("r-form-last-name2").value;
var edad = document.getElementById("r-form-edad").value;
var direccion = document.getElementById("r-form-direccion").value;
var pais = document.getElementById("country").value;
var estado = document.getElementById("state").value;
var telefono = document.getElementById("r-form-telefono").value;
var red_social = document.getElementById("r-form-social").value;
var email = document.getElementById("r-form-email").value;
var org_sociedad_civil = document.getElementById("r-form-sociedad").value;
var razon = document.getElementById("r-form-why").value;
var orientacion_sexual;
var cambio_identidad;
var cambio_en;
var resguardo_valido;




var identidades = document.getElementsByName('radioGroup');
var cambios = document.getElementsByName('radioGroup2');
var lugar_cambios = document.getElementsByName('radioGroup3');
var resguardos = document.getElementsByName('radioGroup4');




for (var i = 0, length = identidades.length; i < length; i++) {
    if (identidades.checked) {
        orientacion_sexual = identidades.value;
        break;
    }
}


for (var i = 0, length = cambios.length; i < length; i++) {
    if (cambios.checked) {
        cambio_identidad = cambios.value;
        break;
    }
}


for (var i = 0, length = lugar_cambios.length; i < length; i++) {
    if (lugar_cambios.checked) {
        cambio_en = lugar_cambios.value;
        break;
    }
}


for (var i = 0, length = resguardos.length; i < length; i++) {
    if (resguardos.checked) {
        resguardo_valido = resguardos.value;
        break;
    }
}




var attendee = new Attendee( {
    telefono: telefono,
    red_social: red_social,
    razon: razon,
    resguardo_valido: resguardo_valido,
    pais: pais,
    org_sociedad_civil: org_sociedad_civil,
    orientacion_sexual: orientacion_sexual,
    nombre: nombre,
    email: email,
    estado: estado,
    edad: edad,
    direccion: direccion,
    cambio_identidad: cambio_identidad,
    cambio_en: cambio_en,
    apellido_paterno: apellido_paterno,
    apellido_materno: apellido_materno
});


//Backendless.UserService.register(attendee).then(attendeeRegistered).catch(gotError);
Backendless.Persistence.of( Attendee ).save( attendee );
//Backendless.Persistence.of(Attendee).save(attendee).then(objectSaved).catch(gotError);
//Backendless.Persistence.of( Attendee ).save( attendee, new Backendless.Async( attendeeRegistered) );


}


function savePonent(){


    //Ponent
var tema = document.getElementById("l-form-tema").value;
var informacion = document.getElementById("l-form-info").value;
var logo = document.getElementById("l-form-logo").value;
var nombre_tag = document.getElementById("l-form-official-name").value;
var nombre = document.getElementById("l-form-first-name").value;
var apellido_paterno = document.getElementById("l-form-last-name").value;
var apellido_materno = document.getElementById("l-form-last-name2").value;
var edad = document.getElementById("l-form-edad").value;
var direccion = document.getElementById("l-form-direccion").value;
var pais = document.getElementById("country1").value;
var estado = document.getElementById("state1").value;
var telefono = document.getElementById("l-form-telefono").value;
var red_social = document.getElementById("l-form-social").value;
var email = document.getElementById("l-form-email").value;
var org_ong_osc = document.getElementById("l-form-sociedad").value;
var razon = document.getElementById("l-form-porque").value;
var razon_resguardo = document.getElementById("l-form-why").value;
var cambio_en_prodiana;
var resguardo_valido;


var isIdentidades = document.getElementsByName('radioGroup5');
var isResguardos = document.getElementsByName('radioGroup6');


for (var i = 0, length = isIdentidades.length; i < length; i++) {
    if (isIdentidades.checked) {
        cambio_en_prodiana = isIdentidades.value;
        break;
    }
}


for (var i = 0, length = isResguardos.length; i < length; i++) {
    if (isResguardos.checked) {
        resguardo_valido = isResguardos.value;
        break;
    }
}


var ponent = new Ponent( {
    tema: tema,
    informacion: informacion,
    logo: logo,
    nombre_tag: nombre_tag,
    nombre: nombre,
    apellido_paterno: apellido_paterno,
    apellido_materno: apellido_materno,
    edad: edad,
    direccion: direccion,
    pais: pais,
    estado: estado,
    telefono: telefono,
    red_social: red_social,
    email: email,
    org_ong_osc: org_ong_osc,
    razon: razon,
    razon_resguardo: razon_resguardo,
    cambio_en_prodiana: cambio_en_prodiana,
    resguardo_valido: resguardo_valido
});


//Backendless.UserService.register(ponent).then(ponentRegistered).catch(gotError);
Backendless.Persistence.of( Ponent ).save( ponent );
//Backendless.Persistence.of( Ponent ).save( ponent, new Backendless.Async(ponentRegistered) );




}


function attendeeRegistered(Attendee) {
    console.log("Attendee has been registered");
}


function ponentRegistered(Ponent) {
    console.log("Ponent has been registered");
}
  
function gotError(err) {
    console.log("error message - " + err.message);
    console.log("error code - " + err.statusCode);
}
 






jQuery(document).ready(function() {
	
    /*
        Fullscreen background
    */
    $.backstretch("assets/img/backgrounds/1.jpg");
    
    /*
        Forms show / hide
    */
    $('.show-register-form').on('click', function(){
    	if( ! $(this).hasClass('active') ) {
    		$('.show-login-form').removeClass('active');
    		$(this).addClass('active');
    		$('.login-form').fadeOut('fast', function(){
    			$('.register-form').fadeIn('fast');
    		});
    	}
    });
    // ---
    $('.show-login-form').on('click', function(){
    	if( ! $(this).hasClass('active') ) {
    		$('.show-register-form').removeClass('active');
    		$(this).addClass('active');
    		$('.register-form').fadeOut('fast', function(){
    			$('.login-form').fadeIn('fast');
    		});
    	}
    });
    
    /*
        Login form validation
    */
    $('.l-form input[type="text"], .l-form textarea').on('focus', function() {
    	$(this).removeClass('input-error');
    });
    
    $('.l-form').on('submit', function(e) {
    	
    	$(this).find('input[type="text"], textarea').each(function(){
    		if( $(this).val() == "" ) {
    			e.preventDefault();
    			$(this).addClass('input-error');
                console.log("on error Ponent");
    		}
    		else {
    			$(this).removeClass('input-error');
                
    		}
    	});


        savePonent();
    	
    });
    
    /*
        Registration form validation
    */
    $('.r-form input[type="text"], .r-form textarea').on('focus', function() {
    	$(this).removeClass('input-error');
    });
    
    $('.r-form').on('submit', function(e) {
    	
    	$(this).find('input[type="text"], textarea').each(function(){
    		if( $(this).val() == "" ) {
    			e.preventDefault();
    			$(this).addClass('input-error');
                console.log("on error public");
    		}
    		else {
    			$(this).removeClass('input-error');
                
    		}
    	});
    	saveAttendee();
    });
    
    
});

Could you please check in the browser’s “Network” tab (in the dev tools) what the request’s headers and body look like and what you get in the server’s response?

Yeah, I saw the error right there, a miss type of a field, thanks so much.

I changed the type and is fixed now

{“code”:1007,“message”:“Unable to save object - invalid data type for properties - telefono. You can change the property type in developer console.”}

I am glad you got it solved!