不知道那里的问题我刚开始写完,一直500错误
来源:3-8 实现二级联动菜单-2
qq_ibertine_0
2020-09-15 19:42:42
然后我一个一个跟着视频对着写,就404了,然后我把源码复制过来还是错
ackage com.imooc.text; public class Project { private String code; private String name; public Project() { } public Project(String code, String name) { super(); this.code = code; this.name = name; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
package com.imooc.text;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
/**
* Servlet implementation class ProServlet
*/
@WebServlet("/Pr")
public class ProServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ProServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String level = request.getParameter("level");
String parent = request.getParameter("parent");
List list = new ArrayList();
if(level.equals("1")) {
list.add(new Project("ai" , "前沿/区块链/人工智能"));
list.add(new Project("web" , "前端/小程序/JS"));
}else if(level.equals("2")) {
if(parent.equals("ai")) {
list.add(new Project("micro" , "微服务"));
list.add(new Project("blockchain" , "区块链"));
list.add(new Project("other" , "..."));
}else if(parent.equals("web")){
list.add(new Project("html" , "HTML"));
list.add(new Project("css" , "CSS"));
list.add(new Project("other" , "..."));
}
}
String json=JSON.toJSONString(list);
response.setContentType("text/html;charset:UTF-8");
response.getWriter().println(json);
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<select id="lev1" style="width:200px;height:160px">
<option selected="selected">请选择</option>
</select>
<select id="lev2" style="width:200px;height:160px"></select>
<script type="text/javascript" src="jq/jquery-3.3.1.js"></script>
<script type="text/javascript">
$(function(){
$.ajax({
"url" : "/Ajax/Pr",
"data" : {"level" : "1"},
"type" : "get" ,
"dataType" : "json" ,
"success" : function(json){
console.log(json);
for(var i = 0 ; i < json.length ; i++){
var ch = json[i];
$("#lev1").append("<option value='" + ch.code + "'>" + ch.name + "</option>")
}
}
})
})
$(function(){
$("#lev1").on("change" , function(){
var parent = $(this).val();
console.log(parent);
$.ajax({
"url" : "/Ajax/Pr" ,
"data" : {"level" : "2" , "parent" : parent},
"dataType" : "json" ,
"type" : "get" ,
"success" : function(json){
console.log(json);
//移除所有lv2下的原始option选项
$("#lev2>option").remove();
for(var i = 0 ; i < json.length ; i++){
var ch = json[i];
$("#lev2").append("<option value='" + ch.code +"'>" + ch.name + "</option>")
}
}
})
})
})
</script>
</body>
</html>
1回答
同学你好,1. 请同学检查路径是否正确,并查看Ajax是否与项目名一致(注意大小写)。
2. 老师测试代码是没有问题的,则建议同学清除缓存重新进行测试。如下所示:
3. 建议同学在ProServlet中添加下方代码,避免出现中文乱码情况。
response.setContentType("text/html;charset=utf-8");
4. 如果同学测试还存在异常,则建议同学反馈错误信息,便于老师定位问题。
祝学习愉快!
相似问题