Javascript XMLHTTPrequest请求不工作
我尝试了以下代码,通过单击按钮将请求发送到jsp页面。我查看了Httpfox,但没有收到任何请求。我只是在html代码的主体中使用了整个代码。我犯了一些愚蠢的错误。请建议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() { //
<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;我抓到了!当我检查它时,完全错过了。很可能就是它。