10/10/2018, 09:51

Lỗi Object required trong ajax là sao?

Mình có một đoạn code ajax thế này để kiểm tra đăng nhập khi user submit form
Code:
if (window.XMLHttpRequest)
	{
	// code for IE7+, Firefox, Chrome, Opera, Safari
	xmlhttp = new XMLHttpRequest();
	}
if (window.ActiveXObject)
	{
	// code for IE6, IE5
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
//Hàm kiểm tra đăng nhập

function login_check(user)
	{
	var username = encodeURI(user.username.value);
	var password = encodeURI(user.password.value);
	xmlhttp.open("GET","/member.php?action=login&do=HZC_usercheck&username="+username+"&password="+password,false);
	xmlhttp.send(null);
	xmlDoc = xmlhttp.respon***ML;
	alert(xmlhttp.responseText);
	var status = xmlDoc.getElementsByTagName("status")[0].childNodes[0].nodeValue;
	if (status == "OK")
		{
		return true;
		}
	else
		{
		var messenger = xmlDoc.getElementsByTagName("messenger")[0].childNodes[0].nodeValue;
		alert(messenger);
		return false;
		}
	}
Lúc thử trên FF thì OK nhưng thử trên IE thì nó báo lỗi "Object required"
Mình không hiểu tại sao cả?
Mình muốn biết lý do và cách sửa lỗi.Mong các bạn giúp đỡ
freshgraduate09 viết 11:54 ngày 10/10/2018
dùng if(document.all) thử coi
hoanghai27 viết 11:58 ngày 10/10/2018
dùng vào chỗ nào thế bạn.Nói rõ hơn chút đi
s.code viết 11:51 ngày 10/10/2018
Căm gét IE vì nó ko có chế độ bug lỗi như FF. Nhiều khi mò chít luôn.
VnSCode viết 12:01 ngày 10/10/2018
Được gửi bởi s.code
Căm gét IE vì nó ko có chế độ bug lỗi như FF. Nhiều khi mò chít luôn.
Sai rồi, bác cài Visual Studio vào, debug javascript y chang như debug C#, FireFox làm sao sánh nổi.
hoanghai27 viết 12:05 ngày 10/10/2018
IE thật lắm chuyện, ngay đến cách tạo XMLHTTPRequest cũng khác các trình duyệt khác.Mệt cả người
Còn cái lỗi kia có ai bít sửa không chỉ mình với
rong_nho viết 12:06 ngày 10/10/2018
Tôi nghĩ là có cái DOM nào của bạn mà FF nó bỏ qua nhưng IE nó báo lỗi, bạn thử kiểm tra trong FF đi vào Tool- Error nó sẽ hiện ra lỗi của Java script. Cái lỗi này là do cái DOM nó không tồn tại . Nêu tiện thì bạn nên paste toàn bộ code lên thì tìm mới dễ hiểu
thuyduongcd viết 11:59 ngày 10/10/2018
Chắc là test trên local rồi.
IE nó có chế độ ngăn chặn ActiveX, lúc vừa load lên có xuất hiện 1 thanh tùy chọn "Allow ActiveX" hay gì đó. Chọn allow rồi refresh lại.
Không thì up lên host sẽ không còn lỗi này nữa
thienthan36 viết 11:57 ngày 10/10/2018
Hic trường hợp này mình gặp rất nhiều. Nhiều ứng dụng mình viết chạy ngon lành trên ff. Nhưng khi chuyển sang IE thì javascript bị lỗi như trường hợp của bạn đây.
Lỗi trên là do ko tạo object xmlhttp do thèn IE chẹn ActiveX. Về ứng dụng javascript. mình khuyên bạn nên dùng một framework như jQuery để thực hiện công việc.
hoanghai27 viết 12:05 ngày 10/10/2018
Chắc không phải đâu bạn ah
Mình thử alert biến xmlhttp.responseText thì nó vẫn ổn chỉ có xmlhttp.respon***ML thì nó vẫn báo là Object XML nhưng lúc dùng đến hàm getElementsByTagName của nó thì lại báo lỗi "Object required" mà thôi
Bài liên quan
0