AJAX jQuery nu functioneaza pe Android

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
andras
Mesaje:430

AJAX jQuery nu functioneaza pe Android

Salut,
Am o aplicatie care functioneaza bine pe desktop, dar la deschidere cu smartphone Android nu mai functioneaza Ajax (varianta JQuery cu .done (function (msg) {...}). Care sa fie cauza?

MarPlo Mesaje:4343
Salut
Nu stiu cauza la nefunctionare Ajax-jQuery pe Android; poate altcineva.
Nu folosesc Ajax din jQuery, ci o functie personala pe care am mai dat-o.
- Incearca aceasta functie pt. ajax:

Cod: Selectaţi tot

// Ajax, receives the url of file to access, data to send, and a callback function (called when the response is received)
function ajaxSend(url, data, callback){
  var ob_ajax = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');  // XMLHttpRequest object

  //put data from "data" into a string to be send to "php"
  var str_data ='isajax=1';  // to know in php it is ajax request
  for(var k in data){
    k = k.toString();  //convert numeric key to string

    //build the string with data to be sent
    str_data +='&'+ k +'='+ data[k].toString().replace('+', '%2B').replace(/\?/g, '%3F').replace(/=/g, '%3D').replace(/&/g, '%26').replace(/[ ]+/g, '%20').replace(/[\+]/g, '%2B');
  }
/// alert(str_data);  //for debug, to see the string that is send

  //send data to php
  ob_ajax.open('POST', url, true);
  ob_ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  ob_ajax.send(str_data);

  //check the state request, if completed, pass the response to callback function
  ob_ajax.onreadystatechange = function(){
    if(ob_ajax.readyState == 4){
/// alert(ob_ajax.responseText);  // debug
      callback(ob_ajax.responseText.trim());
    }
  }
}

//Usage
var send_obj ={n1:'val-1', n2:'val_2'};
ajaxSend('script.php', send_obj, function(res){
  console.log(res);
});
- Daca cu acest ajaxSend() functioneaza rezulta ca problema e de la jquery. In acest caz, daca in jquery ai aplicata proprietatea dataType: "json", sterge-o si testeaza fara ea.

andras Mesaje:430
Scuze ca v-am pus pe drumuri... Am inlocuit functia si tot n-a mers, pana la urma mi-am dat seama: functia ajax era apelata la evenimentul click pe un cimp input text, iar click e mai greu de dat in input text in Android. Am asociat cimpului text un buton pe care am pus functia din onclick si acum functioneaza corect. Salut!