réponse pour UWP.
Remarque importante: J'ai le document html localement dans le dossier localcache. Je l'ouvre dans webview en utilisant ms-appdata://
schéma.
histoire de troubles infinis (peut-être un peu, il vous un certain temps):
Si j'ai envoyé la requête POST, je suis rien. Je reçois l'événement WebView_NavigationStarting
, mais l'Uri seulement a été transféré. Pas de données POST. J'essaie de déboguer en utilisant alert
Juste pour réaliser que alert
ne fonctionne pas dans WebView
.
J'ai trouvé le correctif qui fait alert
fonctionne en utilisant ScriptNotify
événements. Juste pour réaliser que ScriptNotify
ne fonctionne pas avec ms-appdata://
schéma. Donc, le correctif n'a pas fonctionné aussi bien.
J'ai appris comment déboguer dans VS en allant dans Paramètres du projet/Type de débogage/Débogueur/Processus d'application et sélectionnez "Script". Puis j'ai réalisé que je ne peux pas mettre de points d'arrêt dans un script dans Visual Studio. Et puis j'ai trouvé un petit hack - mettre le mot "débogueur"; dans votre code javascript et VS s'arrêtera là. Et vous pouvez déboguer en utilisant F10/F11. Oh oui bébé!
Ensuite, j'ai finalement abandonné et l'a changé en demande GET. Juste pour réaliser que cela ne fonctionne que jusqu'à ce que les données de forme dépassent ~ 2K. Après ça rien. NavigationStarting
jamais viré, rien ne se passe.
Enfin, voici la solution :
private async void WebView_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
{
string result = await this.WebView.InvokeScriptAsync("eval", new string[] { "$('form').serialize()" });
}
Pas vraiment élégant, mais cela fonctionne !!! Et j'ai pu transférer 20K + de cette façon. C'est exactement ce dont j'avais besoin.
Avez-vous essayé d'utiliser WebAuthenticationBrocker avec l'option WebAuthenticationOptions.useHttpPost? – Konstantin