AJAX 调用响应文本为空
AJAX call responseText empty
我有一个小而简单的应用程序。它在Tomcat 7.测试火狐浏览器上。我的网页位于
%CATALINA_HOME%''webapps''examples''servlets.因此,我使用以下URL访问我的html页面:
http://localhost:8080/examples/servlets/userinputs.html
我的java servlet(调用第三方API并返回文本/html响应)驻留在%CATALINA_HOME%''webapps''examples''WEB-INF''classes中。
我在我的js文件中使用AJAX调用通过URL调用这个servlet:
http://localhost:8080/examples/servlets/servlet/challengetask
返回的响应文本为空。如果我从浏览器访问servlet,我可以看到响应。我确实浏览了相同的域策略并搜索了互联网上也有类似的问题。但是,我无法弄清楚为什么响应文本为空以及问题到底是什么。
我的 AJAX 呼叫 :
var request =false;
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}
else {
if (window.ActiveXObject) {
try{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
}
}
}
if(request){
request.open("GET",url,true);
request.onreadystatechange = callBack;
request.setRequestHeader("Connection","Close");
request.setRequestHeader("Method","GET"+url+"HTTP/1.1");
request.send();
}
else {
alert("Sorry could not create an XMLHttpRequest");
}
}
function callBack(){
if(request.readyState == 4){
if(request.status == 200){
alert(request.responseText);
}
} }
PS:html和js都在同一个文件夹中。请帮忙。
在您的代码中,有不需要的大括号(请参阅我的代码片段中的 和),将其删除。第二件事是你为什么要使用连接=关闭,如果你真的不需要它,请删除它。
if(request){
request.open("GET",url,true);
request.onreadystatechange = callBack;
request.setRequestHeader("Connection","Close");
request.setRequestHeader("Method","GET"+url+"HTTP/1.1");
request.send();
}
else {
alert("Sorry could not create an XMLHttpRequest");
}
}
通过将本地主机替换为 127.0.0.1 来修复它。
相关文章:
- 将高图饼图中的文本居中显示为响应
- 如何在响应视频上垂直居中文本
- Servlet对浏览器上显示的纯文本Javascript的响应
- EventSource 的响应具有非“文本/事件流”的 MIME 类型(“文本/纯文本”)
- 无法获取SOAP请求的响应文本
- Ajax 响应文本
- Jquery函数来验证响应文本
- 调整优雅的文本大小调整解决方案的性能,实现流畅/响应式设计
- Ajax响应文本始终为1
- jQuery UI日期选择器只响应第一个文本框
- 使用Jquery的响应设计引导程序中按钮的不同文本大小(例如LastName、FirstName/FirstName)
- XMLHttpRequest 的响应文本在 Mozilla 中为 null(空白)
- 处理XMLHTTP请求文本响应时出错
- 如何从jquery get方法中获取文本响应
- 如何从ajax文本响应中获得id值
- 我如何发送JSON,但期望纯文本响应与AJAX / JQuery
- 如何使用AJAX使用Dojo获得纯文本响应
- 强制JSONP调用将文本响应转换为JSON
- dojo.xhrGet返回PHP源代码,而不是文本响应
- 使引导导航栏中的文本响应