Así que tengo una función de envío de correo electrónico en mi aplicación cordova y usa jQuery para hacerlo. Al depurar mi aplicación, la función ajax funciona bien cuando se prueba en mi navegador, pero cuando construyo la aplicación y la pruebo en mi teléfono, no funciona. Tuve otro problema como este que solo se solucionó una vez que usé js normal en lugar de jQuery. Aquí está la función:
var message = localStorage.getItem("Message"); var key = "dJdJekCVAFIqvUJ13DEczZjgIh_4MyeIGEHz2GBYKFe"; // <<KEY var message_name = "defender_send_message"; // <<MESSAGE NAME var url = "https://maker.ifttt.com/trigger/" + message_name + "/with/key/" + key; $.ajax({ // <<SEND url: url, data: {value1: message, value2: localStorage.getItem("AdminsEmail")}, dataType: "jsonp", complete: function(jqXHR, textStatus) { console.log("Message Sent"); } });¿Alguien sabe cómo traducirlo a js normal? Gracias
Debe usar el objeto XMLHttpRequest para realizar una llamada ajax usando Vanilla JS.
var message = localStorage.getItem("Message"); var key = "dJdJekCVAFIqvUJ13DEczZjgIh_4MyeIGEHz2GBYKFe"; var message_name = "defender_send_message"; var url = "https://maker.ifttt.com/trigger/" + message_name + "/with/key/" + key; var data = {}; data.value1 = message; data.value2 = localStorage.getItem("AdminsEmail"); var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == XMLHttpRequest.DONE) { if (xmlhttp.status == 200) { console.log("Message Sent"); } } } xmlhttp.open('POST', url, true); xmlhttp.responseType = 'jsonp'; xmlhttp.send(data);