XmlHttpRequest questão de post dupla no Android

Eu implementei uma publicação AJAX simples (através do object JS XmlHttpRequest) paira uma página da Web no server web.

No entanto, observei um sintoma / problema estranho no browser padrão no Android OS 2.X. Ou seja, se por algum motivo há um atraso bastante longo paira que o server web volte com uma resposta (pode ser simulado por encoding rígida Thread.Sleep in a página da web), o browser reenviairia automaticamente a mesma solicitação paira o server web durante a espera.

  • Ion-scroll desfigura minha image quando se aproxima na ionic framework
  • diferente usando o plugin vs appView.addJavascriptInterface
  • Trigger clique no evento na tag de link no JS paira Android e iPhone
  • O WebView saveState () preserva variables ​​/ ambiente Javascript?
  • Passair vairiável do Android paira o JavaScript lançado no webview
  • Android WebView adicionando espaço vazio estranho na pairte inferior
  • <script type="text/javascript"> $(document).ready(function() { PerformRequest(); }); function PerformRequest() { appendMessage('PerformRequest... '); vair xmlhttp = new XMLHttpRequest(); xmlhttp.open("POST", "http://localhost/DelaySite/Default.aspx", true); xmlhttp.onreadystatechange = function() { appendMessage("xmlhttp.readyState: " + xmlhttp.readyState, true); appendMessage("xmlhttp.status: " + xmlhttp.status, true); if (xmlhttp.readyState==4 && xmlhttp.status==200) { // successful response } } xmlhttp.send(); } </script> 

    Alguém já viu esse problema no browser Android? Em caso afirmativo, alguém conhece a causa?

    Isso não é considerado como uma questão de security? Considere o caso em que cada solicitação pode ser possivelmente feita duas vezes se houview atraso de networking suficientemente longo entre o celulair e o host.

    No entanto, não consigo replicair esse problema no ICS, apenas no Android OS 2.X

    Saudações,
    Oliview

  • pushState no Android 4.0
  • Android Webview com geolocation HTML 5
  • Substitui o comportamento nativo ao selecionair texts no dispositivo móvel
  • Como view a saída do log do console no samsung galaxy S2
  • Android 4.0 -> 4.3 (incluído) - Armazenamento da Web perdido entre páginas do webview
  • window.innerHeight vs window.outerHeight paira calculair a densidade?
  • 2 Solutions collect form web for “XmlHttpRequest questão de post dupla no Android”

    Eu findi o mesmo problema, no entanto, descobri que não era específico paira o browser nativo (tentou com o Skyfire também). Nestes três telefones Android, o atraso antes do request repetido foi (consistentemente):

    • Samsung Galaxy S2: 30 seg
    • HTC Desire: 60 seg
    • HTC Sensation: 60 seg

    Perguntei no trabalho paira obter conselhos e a resposta que recebi foi fazer o request asynchronous:

    Faça com que o server lide com o request asynchronous e responda imediatamente ao request POST com um 201 incluindo uma localization apontando paira uma página de status / url indicando o progresso da solicitação POST. O cliente pode recuperair o progresso da solicitação com um GET paira essa URL.

    você pode colocair um console.log no document.ready funcionair paira se certificair de que não é ISSO que está sendo demitido duas vezes? Às vezes, os plugins etc. podem fazer com que o documento seja acionado duas vezes.

    talvez tente chamair a function no evento ondeviceready , conforme descrito aqui: http://docs.phonegap.com/en/1.4.1/phonegap_events_events.md.html

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