Estoy tratando de enviar datos json a una URL http sin éxito (traté de enviar los mismos datos a otro https con éxito). Tengo esta configuración: config.xml
<access origin="*" /> <allow-intent href="http://*/*" /> <allow-intent href="https://*/*" />AndroidManifest.xml
android:usesCleartextTraffic="true"Encabezado HTML
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *;"> <meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *"> <script> $.ajax({ type: "GET", url: url, dataType: "jsonp", jsonp: 'callback', crossDomain: true, async: true, data: { id: results.rows.item(i).id, bolla: results.rows.item(i).bolla, anno: results.rows.item(i).anno, magazzino: results.rows.item(i).magazzino, articolo: results.rows.item(i).articolo, quantita: results.rows.item(i).quantita, term: terminale }, success: function (data) { console.log(data) }, error: function (xhr, textStatus, err) { alert("readyState: " + xhr.readyState); alert("responseText: " + xhr.responseText); alert("status: " + xhr.status); alert("text status: " + textStatus); alert("error: " + err); } }); </script> Si uso json devuelve devicereadystate=0 y error si uso jsonp devuelve devicereadystate=4 y error 404 (la url es correcta si la pego en un navegador funciona)
Creo que esto se debe a que con cordova-android 10.0.x, la vista web ahora actúa como una página https y no puede cargar/enviar a orígenes no seguros mientras usa https.
De los documentos de Córdoba
De forma predeterminada, WebViewAssetLoader está habilitado y permite que las aplicaciones sirvan su contenido desde un origen "adecuado". Esto hará que el enrutamiento funcione fácilmente para marcos como Angular.
Sin configuraciones adicionales, el contenido de la aplicación se sirve desde https://localhost/. Puede configurar el nombre de host configurando la opción de preferencia nombre de host.
<preference name="hostname" value="localhost" />El esquema, https, no es configurable por naturaleza.