Javascript XMLHTTPrequest请求不工作

Javascript XMLHTTPrequest请求不工作,javascript,ajax,jsp,xmlhttprequest,Javascript,Ajax,Jsp,Xmlhttprequest,我尝试了以下代码,通过单击按钮将请求发送到jsp页面。我查看了Httpfox,但没有收到任何请求。我只是在html代码的主体中使用了整个代码。我犯了一些愚蠢的错误。请建议 <button type="button" onClick="handleButtonClick();">Click Me!</button> <script type="text/javascript"> function handleButtonClick() { //

我尝试了以下代码,通过单击按钮将请求发送到jsp页面。我查看了Httpfox,但没有收到任何请求。我只是在html代码的主体中使用了整个代码。我犯了一些愚蠢的错误。请建议

<button type="button" onClick="handleButtonClick();">Click Me!</button>
<script type="text/javascript">




function handleButtonClick()
{
    // Declare the variables we'll be using
    var xmlHttp, handleRequestStateChange;

    // Define the function to be called when our AJAX request's state changes:
    handleRequestStateChange = function()
    {
        // Check to see if this state change was "request complete", and
        // there was no server error (404 Not Found, 500 Server Error, etc)
        if (xmlhttp.readyState==4 && xmlhttp.status==200) 
        {
            var substring=xmlHttp.responseText;
            // Do something with the text here
            alert(substring);
        }
    }

    xmlhttp = new XMLHttpRequest();
    xmlHttp.open("GET", "http://csce:8080/test/index.jsp?id=c6c684d9cc99476a7e7e853d77540ceb", true);
    xmlHttp.onreadystatechange = handleRequestStateChange;
    xmlHttp.send(null);
}
</script>
点击我!
函数handleButtonClick()
{
//声明我们将要使用的变量
var xmlHttp,handleRequestStateChange;
//定义AJAX请求状态更改时要调用的函数:
HandlerRequestStateChange=函数()
{
//检查此状态更改是否为“请求完成”,以及
//没有服务器错误(404未找到、500服务器错误等)
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
var substring=xmlHttp.responseText;
//对这里的文本做些修改
警报(子串);
}
}
xmlhttp=新的XMLHttpRequest();
open(“GET”http://csce:8080/test/index.jsp?id=c6c684d9cc99476a7e7e853d77540ceb“,对);
xmlHttp.onreadystatechange=HandlerRequestStateChange;
xmlHttp.send(空);
}

由于没有提出任何请求,我不相信您真的可以向“http://csce:8080“因为FireFox可能看不到该URL位于同一子域上(您不能对与请求者不在同一域上的资源发出Ajax请求)


假设您将URL设置为相对的。那时是否生成了请求?如果是这样,那很可能是您的问题。

在JavaScript中,变量是区分大小写的。您有
xmlHttp
xmlHttp
;这些应该是相同的

块的开头还有
,这是一个JavaScript语法错误

xmlHttp = (function (x,y,i) {
    if (x) return new x();
    for (i=0; i<y.length; y++) try { 
        return new ActiveXObject(y[i]);
    } catch (e) {}
})(
    window.XMLHttpRequest, 
    ['Msxml2.XMLHTTP','Microsoft.XMLHTTP']
);
Quote:xmlhttp=newXMLHttpRequest()

两件事。首先,您可能希望使用更健壮的方法来获取XMLHttpRequest对象。第二,javascript区分大小写;xmlhttp!=xmlHttp

xmlHttp=(函数(x,y,i){
如果(x)返回新的x();

因为(i=0;我抓到了!当我检查它时,完全错过了。很可能就是它。