Προς το περιεχόμενο

AJAX - IE issue


elis88

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας παιδιά, ενώ αυτός ο κωδικάς τρέχει πάρα πολυ καλα στο firefox, google chrome, στον internet explorer δεν τρέχει καθόλου (oύτε καν error στην console).

 

>

function setProducts(vend_id)
{
var xmlhttp;

if(window.XMLHttpRequest)
{
	xmlhttp = new  XMLHttpRequest();
}
else
{
	xmlhttp = new  ActiveXObject(Microsoft.XMLHTTP);
}

xmlhttp.onreadystatechange=function()
{
	if(xmlhttp.readyState == 4)
	{
		document.getElementById("products").innerHTML= xmlhttp.responseText;
	}
		
};

var sel = document.getElementById("subcats");
xmlhttp.open("GET","getProductsByCat.php?subcat="+ sel.options[sel.selectedIndex].value + "& vend=" + vend_id ,true);
xmlhttp.send(null);

}

Δημοσ.

Δεν υπάρχει κανένας λόγος να προσπαθείς να είσαι cross browser compatible από την στιγμή που υπάρχουνε τόσο καλές javascript libraries, με προσωπική αγαπημένη την jQuery, οι οποίες το κάνουν αυτό για εσένα.

 

Θα σε συμβούλευα να την χρησιμοποιήσεις για να μην σπαταλάς τον χρόνο σου σε κάτι τέτοια.

Δημοσ.
Δεν υπάρχει κανένας λόγος να προσπαθείς να είσαι cross browser compatible από την στιγμή που υπάρχουνε τόσο καλές javascript libraries, με προσωπική αγαπημένη την jQuery, οι οποίες το κάνουν αυτό για εσένα.

 

Θα σε συμβούλευα να την χρησιμοποιήσεις για να μην σπαταλάς τον χρόνο σου σε κάτι τέτοια.

 

Ok Thanks. Θα το ψάξω, αν και δεν έχω πολύ χρόνο :fear:

Δημοσ.

Ο φιλος maniakos εχει δικιο, ειδικα με την Jquery καθε λειτουργια ajax γινεται παιχνιδακι και δεν χρειαζεται να ανησυχεις για τον αν θα δουλευει σε καθε browser, παλιους και καινουργιους...

Δημοσ.

Στην συγκεκριμένη περίπτωση πάντως, από τους ελέγχους που έκανα έβγαλα το συμπέρασμα ότι τα δεδομένα έρχονται κανονικά. Η εντολη που δνε δουλεύει είναι αυτη:

>document.getElementById("products").innerHTML= xmlhttp.responseText; 

 

Αυτό προσπαθεί να βάλει μερικά <option> .. </option> σε μία <select> .. </select>. Μήπως ξέρει κανείς τίποτα σχετικά;

 

* Να ξανα τονίσω ότι στους άλλους browsers παίζει κανονικά

Δημοσ.
Στο products μηπως πρεπει να βαλεις #products ? Ετσι μια γρηγορη σκεψη...

 

Μπα ούτε έτσι.. :mad:

Δημοσ.

Κανε ενα alert αυτο

>document.getElementById("products").innerHTML= xmlhttp.responseText;

για να δεις αν πρωτα απο ολα φορτωνει σωστα και πες μου αν ειναι οκ

Δημοσ.
Κανε ενα alert αυτο

>document.getElementById("products").innerHTML= xmlhttp.responseText;

για να δεις αν πρωτα απο ολα φορτωνει σωστα και πες μου αν ειναι οκ

 

Ναι αυτό το έχω τσεκάρει, είναι οκ.

Δημοσ.

Τελευταια προσπαθεια, αλλαξε αυτο

 

>xmlhttp = new  ActiveXObject(Microsoft.XMLHTTP);

 

σε αυτο

 

 

 

>xmlhttp = new  ActiveXObject("Microsoft.XMLHTTP");

αλλιως κανε μια χαρη στον εαυτο σου, χρησιμοποιησε jquery, μια γραμμη κωδικα θελει μονο για ajax load και εισαι σιγουρος οτι θα δουλευει παντου...

Δες ποσο ευκολο ειναι...

$('#products').load('getProductsByCat.php' + ....);

Δημοσ.
Τελευταια προσπαθεια, αλλαξε αυτο

 

>xmlhttp = new  ActiveXObject(Microsoft.XMLHTTP);

 

σε αυτο

 

 

 

>xmlhttp = new  ActiveXObject("Microsoft.XMLHTTP");

αλλιως κανε μια χαρη στον εαυτο σου, χρησιμοποιησε jquery, μια γραμμη κωδικα θελει μονο για ajax load και εισαι σιγουρος οτι θα δουλευει παντου...

Δες ποσο ευκολο ειναι...

$('#products').load('getProductsByCat.php' + ....);

 

Μια γραμμή είναι; :P

Δημοσ.
Ναι η μεθοδος για ajax load ειναι μια γραμμη μονο!

 

Θα το δοκιμάσω μία... :P

 

---------- Προσθήκη στις 19:42 ---------- Προηγούμενο μήνυμα στις 18:30 ----------

 

Βασικά βρήκα αυτό τον τρόπο, άλλα δεν ξέρω γιατί δεν τρέχει:

 

>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.min.js"> </script>

<script type="text/javascript">

function setProducts(vend_id)
{

var sel= document.getElementById("subcats");

	$.ajax({
		 url: 'ajax/getProductsByCat.php?subcat='+ sel.options[sel.selectedIndex].value + '&vend=' + vend_id,
 		 success: function(data) {
 		  $('#products').html(data);
  		 alert('Load was performed.');
		 }
	});
}

Δημοσ.
Ε ειπαμε μια γραμμη ναι, αλλα χωρις καθολου κωδικα πως να τρεξει!!!! :)

 

Χαχαχαχα, δες το αλλή μία κατα λάθος πάτησα το κουμπάκι πριν :P

 

---------- Προσθήκη 27-01-2010 στις 01:58 ---------- Προηγούμενο μήνυμα 26-01-2010 στις 19:54 ----------

 

Τελικά πέτυχε με αυτό τον τρόπο:

 

>
$('#products').load('getProductsByCat.php?subcat='+sel.options[sel.selectedIndex].value + '&vend=' + vend_id, function() {
	  alert('Load was performed.');

 

Άλλα γιατι δεν πέτυχε έτσι:

 

>
$('#products').load("getProductsByCat.php?subcat="+sel.options[sel.selectedIndex].value + "& vend=" + vend_id);

 

Όπως και να εχει ευχαριστώ πάαααααααααααααααααρα πολύ!!!

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...