при использовании .ashx адрес получил ошибку javascript: myxmlhttprequest.open не является функцией - PullRequest
0 голосов
/ 14 мая 2011

Я не могу получить доступ к SayHello.ashx, и я получил эту ошибку JavaScript:

httpReq.open не является функцией.

, но код работает нормально, когда яиспользуйте страницу aspx для ответа xmlhttprequest:

httpReq.open("POST", "SayHello.aspx");  

в чем проблема?проблема может быть из моего .ashx файла?

function callASHX() {
    var httpReq=XMLHttpRequest();        
    var x = document.getElementById('txtName').value; 
    var sendStr = "user_id=" + x;
    httpReq.open("POST", "SayHello.ashx");        
    httpReq.onreadystatechange = XMLHttpRequestCompleted;
    httpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");      
    httpReq.send(sendStr);       
}

// initialize XMLHttpRequest object
function XMLHttpRequest() {
    var httpReq;
    try {
        // Opera 8.0+, Firefox, Safari
        httpReq = new XMLHttpRequest();
    }
    catch (e) {
        // IEBrowsers
        try {
            httpReq = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
                httpReq = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
                return false;
            }
        }
    }
    return httpReq;
}

1 Ответ

0 голосов
/ 14 мая 2011

Вы не присваиваете объект возврата XMLHttpRequest().

Попробуйте это:

function callASHX() 
{    
    var httpReq =  XMLHttpRequest();        
    ....
    if (httpReq)  //potentially this is 'false'!
    {
       httpReq.open("POST", "SayHello.ashx");  
       ....
    }
...