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?
AJAX jQuery nu functioneaza pe Android
-
- Mesaje:430
AJAX jQuery nu functioneaza pe Android
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:
- 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.
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);
});
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!