Không thể lấy dữ liệu với XMLHttpRequest (trạng thái 0 và responseText trống):
xmlhttp = new XMLHttpRequest (); xmlhttp.open ("GET", "http://www.w3schools.com/XML/cd_catalog.xml", true); xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) alert ("trạng thái" + xmlhttp.status); } xmlhttp.send ();
Nó cảnh báo "trạng thái 0".
Trường hợp tương tự với yêu cầu localhost (cd_catalog.xml được lưu dưới dạng tệp cục bộ)
xmlhttp.open ("GET", "http: //localhost/cd_catalog.xml", true);
Nhưng với yêu cầu IP localhost
xmlhttp.open ("GET", "http://127.0.0.1/cd_catalog.xml", true);
và với yêu cầu tệp cục bộ
xmlhttp.open ("GET", "cd_catalog.xml", true);
mọi thứ đều ổn (trạng thái 200)
Điều gì có thể gây ra sự cố (trạng thái = 0) với yêu cầu trực tuyến?
PS: Tiêu đề HTTP trực tiếp cho thấy mọi thứ đều ổn trong cả 4 trường hợp:
HTTP / 1.1 200 OK Nội dung-Độ dài: 4742
PS2: Máy chủ web cục bộ Apache trên VMWare (máy chủ lưu trữ hệ điều hành Win7, hệ điều hành khách Ubuntu, bộ điều hợp mạng - NAT). Trình duyệt - Firefox.
XMLHttpRequest
không thể thực hiện các yêu cầu tên miền chéo. Tuy nhiên, có một số cách giải quyết. Hãy xem jquery chẳng hạn.
http://127.0.0.1
có ngẫu nhiên không? ;)