一、404
jquery.min.js:2
GET http://localhost:8080/***/***Server/*** 404 (Not Found)
当报404时,代表你的路径真的写错了,请求时找不到;
1.这时候一定好好经检查一下自己的路径是否正确,
如果用的是eclipse,可以通过右键文件然后 > Copy Qualified Name 复制到完整路径
2.注意,带参数时不要把 ? 和& 弄混了
?加在路径的末尾,首个参数之前,作为路径和参数之间的分隔;如果是多个参数的话 & 加在参数和参数之间,作为参数之间的分隔。
3.另一种情况,如果你的html文件没有直接在WebContent文件下,而是在WebContent文件下的又一个文件下如:
这时候你在写请求的路径时前面要加 ../ (表示返回上一级)
例:下面是一个用Jquery写的Ajax请求案例
$(".btn").on('click',function(){
var acc = $('#acc').val()
var pw = $('#pw').val()
if(!acc){
alert("请输入账号")
}else if(!pw){
alert("请输入密码")
}else{
$.ajax({
type:"get",
url:"../loginServer?action=login&acc="+acc+"&pw="+pw,
success:function(value){
console.log(value)
},
error:function(){
alert("登录请求失败了!")
}
})
}
})
一、500
jquery.min.js:2
GET http://localhost:8080/***/***Server***** 500 (Internal Server Error)
1.这种情况代表你的路径可能没有问题,而问题出在了你的Serverlet中,很可能是其中代码的逻辑有问题,或者忘记写response.getWriter().write(res); (回复语句)了,前端没有接收到response回复,因而报错。
例如:下面是一个错误,并附带解决技巧
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/json;charset=utf-8");
String action = request.getParameter("action");
String res = "";
String sql = "";
String[] columns;
switch(action) {
case"login":{
String acc= request.getParameter("acc");
String pw = request.getParameter("pw");
System.out.println("进来了1");
int i = 2/0; //这里我们让除数等于零,创造一个错误
System.out.println("进来了2");
break;}
}
response.getWriter().write(res);
}
页面控制台运行结果:
java端运行结果:
很明显,第一个 System.out.println("进来了1"); 成功输出;而第二个 System.out.println("进来了2"); 没有被执行;我们可以用这种插入输出语句的方式,查看请求到底是否发送成功了,并且判断错误到底出在了那部分。