2016-05-10 14 views
6

Stiamo sviluppando un'applicazione per Windows 10 cordova. In base ai nostri requisiti, abbiamo aggiunto una visualizzazione Web (<x-ms-webview id="id-web-view" height="100%" width="100%"></x-ms-webview>) all'interno di una pagina HTML e il caricamento di risorse (HTML, JS, CSS ecc.) All'interno della visualizzazione Web dalla directory AppData \ Local \ Packages \ LocalState. HTML, CSS, JS e altre risorse si stanno caricando perfettamente bene.Non è possibile effettuare chiamate ajax da una visualizzazione Web in Windows 10 Cordova App

Non siamo in grado di effettuare chiamate AJX da Web View (pagina incorporata). Errore - XMLHttpRequest: errore di rete 0x80070005, accesso negato. Le chiamate AJAX vanno bene per l'HTML genitore.

Sembra essere un problema CORS. Ho provato vari JQuery e altre opzioni per abilitare CORS. La sua non funziona.

Qualsiasi tipo di aiuto sarà apprezzato.

+0

problema CORS dovrebbe essere risolto dal lato server. Hai accesso al server a cui la tua ajax sta richiedendo? –

+0

Sì, posso accedere al server. Sarà molto apprezzato se è possibile annotare le modifiche laterali del server per abilitare CORS – Shamse

risposta

0

Per abilitare CORS, è sufficiente aggiungere l'intestazione di risposta "Access-Control-Allow-Origin: {your domain} o {*}" al sito Web del lato server.

I passaggi per l'aggiunta dell'intestazione di risposta dipendono dal server. È possibile fare riferimento a CORS on the server per i server più utilizzati.

Fammi sapere se il server al tuo fianco non è in tale elenco o se vengono visualizzati altri problemi specifici.

0

Personalizzare la politica di sicurezza contenuti nella meta taghttp-equiv = "Content-Security-politica" se necessario. Aggiungi 'in-safe' a default-src per abilitare JavaScript inline. Per i dettagli, consultare go.microsoft.com/fwlink/?LinkID=617521 aggiungi metatag http-equiv = "Content-Security-Policy" content = "default-src" self "data: gap: ssl.gstatic.com" non sicuro -EVAL '; style-src 'sé' 'non sicuro-inline'; media-src *"

si prega di visitare http://taco.visualstudio.com/en-us/docs/cordova-security-whitlists/

+0

già provato. – Shamse

+0

Sei in grado di effettuare chiamate ajax in Android/iOS? Chiama la funzione ajax come ** yourWebView.loadUrl ("javascript: foobar ('somedata')"); ** Se ajax chiama funzionante bene lo stagno Android/iOS ci deve essere un problema con la piattaforma Windows [vedi abilitare cors] (http: // www.html5rocks.com/en/tutorials/cors/) altrimenti abilitare http://enable-cors.org/server.html. Visitare anche https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md –

+0

Sì, iOS e Android funzionano correttamente. Anche in Windows sono abale per effettuare chiamate Ajax dalla pagina padre. Non sta funzionando solo con WebView incorporato Che abbiamo aggiunto nella pagina indice dell'app di Windows per caricare l'HTML dalla cartella appData – Shamse

Problemi correlati