我在firefox和Internet Explorer上测试我的web应用程序时遇到问题,问题似乎是我的应用程序对服务器进行的ajax调用我实现了这一点,当我使用FIDDLER WEB DEBUGGER调试我的应用程序时我注意到了当我使用IE或Firefox时,我没有得到任何回应。
我尝试将我的请求类型从“GET”更改为“POST”并添加缓存破坏程序而没有任何成功。
请窥视我的代码:
这是我创建我的ajax对象的地方:
function createXmlHttpRequestObject()
{
var xmlHttp;
if(window.ActiveXObject){
try{alert(0);
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
xmlHttp = false;
}
}
else{
try{
xmlHttp = new XMLHttpRequest();
}
catch(e){
xmlHttp = false;
}
}
if(!xmlHttp){
alert("Can't create object!!!");
}
else{
return xmlHttp;
}
}
这是我发送请求的地方:
function process(){
var params = "word="+word;
if(xmlHttp.readyState==0 || xmlHttp.readyState==4){
xmlHttp.open("POST","/gwizz/scripts/definition.php",true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length",params.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(params);
}else{
setTimeout('process()',1000);
}
}
非常感谢任何帮助。
答案 0 :(得分:0)
@Moor 我无法回答究竟是什么问题,但这里有一些可能对你有帮助的指针。
XMLHttpRequest - 也许这是一个主题,但认为它对更多与浏览器无关的代码很有用。 我建议使用创建Ajax请求并仅使用ActiveXObject,以防您无法找到XMLHttpRequest。大多数浏览器(包括IE8 +)都支持此对象,因此您依赖浏览器的代码较少。例如以下从http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp
复制var xmlHttp;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
使用开发人员工具Firefox和IE现代版本附带非常有用的开发人员工具。检查网络部分,然后执行希望调用ajax调用的Web应用程序的单击。实际触发的http请求的完整详细信息可在网络部分中找到。它将向您显示浏览器如何查看请求。
如果我猜一下,我会说用于连接服务器的URL可能会产生404.