Tengo un archivo index.html que contiene código CSS, HTML y JavaScript El código JavaScript está enviando una solicitud medianteXMLHttpRequest al archivo .php en el servidor, el archivo .php refleja algunos datos.
Envuelvo el código HTML en la aplicación de Android WebView como una cadena (sin usar la función loadUrl) usando el código que encontré en esta fuente
Java:
// Create an unencoded HTML string // then convert the unencoded HTML string into bytes, encode // it with Base64, and load the data. String unencodedHtml = "<html><body>'%23' is the percent code for '#' </body></html>"; String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(), Base64.NO_PADDING); myWebView.loadData(encodedHtml, "text/html", "base64");También habilitó el soporte de Internet y JavaScript
<manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest> webSettings.setJavaScriptEnabled(true);Pero no puedo enviar una solicitud GET/POST desde JavaScript dentro de la aplicación al archivo .php remoto en el servidor.
Todo funciona si subo el archivo index.html al servidor y envío la solicitud al archivo .php. Puedo enviar la solicitud sin problemas de CORS desde localhost también.
¿Hay alguna forma de evitar envolver todo el sitio web en WebView y usar loadUrl en lugar de la función loadData o me estoy perdiendo algo?
¿Puedo enviar solicitudes XHR/Fetch de la aplicación al servidor y recibir datos en WebView?
Todavía estoy buscando una respuesta pero aún no encontré una solución que funcione