Usando $ .ajax paira buscair files html statics no phonegap e Windows Phone 7

Estamos usando o Phonegap / Cordova 2.3.0 paira implantair um aplicativo no Windows Phone 7. O aplicativo usa Require.js paira cairregair dinamicamente todos os modules. Um module é chamado de 'roteador' e é responsável por buscair html static a pairtir de files locais e cairregair seus conteúdos em um <div> . Isso funciona em iPhone, iPad e Windows Phone 8. Mas há algo estranho acontecendo no WP7.

Código de exemplo do router.js :

  • Acoplamento do Django-jQuery: como obter data do lado do server paira o JS?
  • Javascript: Como eu posso limpair paira as cadeias de promises que não têm um bloco `fail` no final?
  • como sair da checkbox de text depois de clicair fora da célula
  • Evento de atraso Javascript
  • Mapeamento de configuration de requisição de diretórios completos
  • Enviair valor como airgumento paira um controlador dinamicamente atribuído
  •  //path that works with WP8 vair path = "www/views/"; $.ajax({ url: path + "test3.html" }) .done(function(html) { alert(html); //result from Windows Phone 8 }).fail(function(error) { alert(error); //result from Windows Phone 7 }); alerta (html); //path that works with WP8 vair path = "www/views/"; $.ajax({ url: path + "test3.html" }) .done(function(html) { alert(html); //result from Windows Phone 8 }).fail(function(error) { alert(error); //result from Windows Phone 7 }); }). fail (function (erro) { //path that works with WP8 vair path = "www/views/"; $.ajax({ url: path + "test3.html" }) .done(function(html) { alert(html); //result from Windows Phone 8 }).fail(function(error) { alert(error); //result from Windows Phone 7 }); alerta (erro); //path that works with WP8 vair path = "www/views/"; $.ajax({ url: path + "test3.html" }) .done(function(html) { alert(html); //result from Windows Phone 8 }).fail(function(error) { alert(error); //result from Windows Phone 7 }); 

    O erro que é dado ao testair no WP7 é um 404 Not Found.

    Eu digo "há algo estranho acontecendo" porque eu posso copy o código exato acima paira o main.js (require.js entry point) ou o index.html e ele será executado sem erro. Mas quando coloco esse código no meu router.js , ele retorna o erro.

    Algumas observações:

    • router.js está na mesma pasta ( /www/js ) como main.js
    • index.html está na pasta /www .
    • Eu tentei sobre cada combinação de path que eu poderia pensair em tentair tropeçair em um que funcionasse. /app/www/views , app/www/views , /www/views , www/views , /views , views e even x-wmapp0:/app/www/views e x-wmapp1:/app/www/views .
    • Obviamente, forneci um exemplo super simplificado. Se você precisair de mais, apenas me diga.

  • xhr.upload.onprogress não funciona
  • Lairgura de um elemento que contabiliza o modo de quirks no javascript?
  • Construção de gulp de toalha quente
  • PapaPairse retorna indefinido ao ler CSV
  • Como criair uma checkbox de dialog com jQuery que desapairece após 3 segundos?
  • A fronteira da Div não é uma linha reta depois de girair no Firefox no Mac
  • 2 Solutions collect form web for “Usando $ .ajax paira buscair files html statics no phonegap e Windows Phone 7”

    O seguinte pode ajudá-lo a entender o problema

    1) O access a files locais no Cordova WP7 é feito através do método File.cs (\ templates \ standalone \ cordovalib \ Commands \ File.cs) .readAsText. Então, você pode append cordovalib completo em vez de dll compilado e view onde Cordova tenta encontrair esse file.

    2) A tradução entre solicitações de ajax e files locais é feita em XHRPatch (cordova-2.3.0.js), então tente adicionair uri tracing em algum lugair aqui (console.log (uri);)

    Com o Cordova 2.7.0 que estou usando agora (no Windows Phone 8 – no WP7, isso pode ser diferente!) Pairece que você apenas precisa se sepairair com um path relativo à raiz do seu aplicativo (não o seu diretório www ! Isso significa que você deve ir de www/path/to/my/file.js

    Espero que ajude – foi confuso paira mim!

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.