2012-08-22 35 views
11

Tôi nhận được lỗi dưới đây.Lỗi không bắt buộc: INVALID_STATE_ERR: Ngoại lệ DOM 11

Uncaught Error: INVALID_STATE_ERR: DOM Exception 11

Đây là mã mà tôi nhận được RUN THỜI GIAN.

xhttp.setRequestHeader("Content-type","application/xhtml+xml");<br> 
xhttp.open("POST",xmlFile,true);<br> 
xhttp.send(postData); 

Tôi đã thử với false trong tham số thứ ba của xhttp.open.
Bất cứ ai có thể cho tôi biết nguyên nhân gây ra điều này không?

+0

Bạn đang gửi yêu cầu của bạn đến máy chủ tương tự mà phục vụ trang? Hãy nhớ CORS! – tkone

+0

Yêu cầu của tôi đang diễn ra trên hai máy chủ. Một là máy chủ của chúng tôi (tầng giữa) và thứ hai là expedia Server (API đặt phòng khách sạn). Lớp trung lưu của chúng tôi gửi thêm đến expedia và trả lời lại cho chúng tôi. – Anildhara

Trả lời

22

Lỗi xuất phát từ tự thực hiện:

xhttp.open("POST",xmlFile,true); 
xhttp.setRequestHeader("Content-type","application/xhtml+xml"); 
xhttp.send(postData); 

Trước tiên, bạn phải mở kết nối và sau đó thiết lập các tiêu đề yêu cầu nếu không bạn sẽ nhận được lỗi.

+2

Xin chào, Chưa xác định Thứ tự của mã trên là hoàn hảo. Bây giờ mã của tôi đang hoạt động tốt. Cảm ơn rất nhiều. – Anildhara

+0

Đây là câu trả lời, @Anildhara đánh dấu nó! – candlejack

+0

Người đàn ông, tôi không chắc chắn tại sao, nhưng trong chrome, nó không quan tâm thứ tự mà tôi đã đặt tiêu đề. Khi nó đến thử nghiệm trình duyệt không đầu với các phantomjs, nó đã nổ tung! Cảm ơn nhiều! Tôi thực sự đã đập đầu vào bàn của tôi cả ngày. – jemiloii

1

XMLHttpRequest::Status không khả dụng cho đến khi XMLHttpRequest::readyState đã thay đổi thành 4 tức là. một phản ứng thích hợp đã được lấy từ máy chủ và hiện đã được phổ biến trong biến số Status.

Do đó truy cập vào XMLHttpRequest :: Trạng thái sớm có thể dẫn đến lỗi này.

Giải pháp: đầu tiên xác minh readyState và chỉ khi thành công — truy cập Status

if (xmlhttp.readyState==4) 
{ 
    switch (xmlhttp.status) 
    { 
    case 200: // Do the Do 
     break; 
    case 404: // Error: 404 - Resource not found! 
     break; 
    default: // Error: Unknown! 
    } 
} 
Các vấn đề liên quan