我正在尝试使用jQuery向同一台机器中的另一个端口发出cors ajax请求,下面是我的代码(我的应用程序在端口80上的appache服务器上运行):
JS:
$(function(){
jQuery.support.cors = true;
$.ajax({
type: "POST",
url: "http://127.0.0.1:8080/sys_monitor/ccn",
dataType: "text",
contentType: "text/plain",
data : {a: '11'},
success : function(res){
alert(res);
$('#stage').html(res);
},
error : function(jqXHR, text, exception){
if (jqXHR.status === 0) {
alert ('Not connected.\nPlease verify your network connection.');
} else if (jqXHR.status == 404) {
alert ('The requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert ('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert ('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert ('Time out error.');
} else if (exception === 'abort') {
alert ('Ajax request aborted.');
} else {
alert ('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
});
在端口8080上运行在tomcat(eclipse)上的Servlet(“post”写入控制台):
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().write("hello there");
System.out.println("post");
}
使用firebug我可以看到请求(响应代码200)和内容长度11(空结果选项卡),但错误函数正在执行XHR状态0
(旁边问题1:为什么firebug显示“xml”作为类型?):
(旁边问题2:为什么POST之前没有OPTIONS请求?):
我也尝试使用RESTClient插件来获取firefox,我得到了想要的结果:
欢迎所有帮助/提示
答案 0 :(得分:-3)
检查此问题 XmlHttp Request status 0, localhost issues (javascript, ajax, php) help,
它看起来像是一个处理localhost的浏览器问题