2012-04-12 26 views
5

tôi có mã này:Làm thế nào để ngăn chặn lỗi SSL khi AJAX yêu cầu đến máy chủ với giấy chứng nhận hợp lệ

function newXMLHttpRequest() { 
    var xmlHttp; 
    try { 
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     try { 
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch (f) { 
      xmlHttp = new XMLHttpRequest(); 
     } 
    } 
    return xmlHttp; 
} 
var xmlHttp = newXMLHttpRequest(); 
xmlHttp.open("POST", url, true); 
xmlHttp.onreadystatechange = function() { 
    // this I have xmlHttp.status = 12019   
    alert("readyState = " + xmlHttp.readyState + "\nstatus = " + xmlHttp.status); 
} 
xmlHttp.send('same data'); 

Khi tôi gửi yêu cầu đến máy chủ với giấy chứng nhận hợp lệ Tôi có lỗi với mã trạng thái 12019.

Giải pháp phải là trình duyệt chéo (IE, FF, Chrome)

Trả lời

1

Trước tiên, để trả lời câu hỏi trong tiêu đề, điều này không thể thực hiện được. Thư viện xmlHttp của khách hàng không cho phép máy khách bỏ qua các lỗi ssl. MsXml2.ServerXMLHTTPobject không cho phép người dùng bỏ qua lỗi SSL với setOption(2, 13056)method. Tuy nhiên, đối tượng này không thể được sử dụng trong trình duyệt, cũng không phải là nền tảng chéo.

Điều đó nói rằng, có vẻ như có một vấn đề khác. Trạng thái 12019 không cho biết chứng nhận không hợp lệ. Một số biến thể của mã trạng thái HTTP 403 hoặc một trong nhiều mã 'invalid certification' sẽ được mong đợi trong trường hợp đó.

bạn 12019 status code chỉ:

ERROR_INTERNET_INCORRECT_HANDLE_STATE

Các hoạt động yêu cầu không thể được thực hiện bởi vì tay cầm cung cấp không phải là trong tình trạng chính xác.

Thật không may mã trạng thái này không thực sự giao tiếp nhiều và không biết phiên bản IE nào và chi tiết về máy chủ không còn nhiều thứ để tiếp tục. Tôi đã kiểm tra một số bài đăng trên diễn đàn. One stated chuyển sang IIS đã khắc phục sự cố, another cho biết rằng các tệp tạm thời không thể ghi đè dẫn đến sự cố. Tuy nhiên, hầu hết các bài đăng không có kết luận thỏa đáng hoặc quyết định.

Các vấn đề liên quan