二级菜单返回的数据为空是哪里出错了

来源:3-8 实现二级联动菜单-2

Heisenberg_bo

2019-03-19 02:04:34

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script> 
<script type="text/javascript">
      $(function (){
		 $.ajax({
			 "url":"/Ajax/Caidan",
		     "data":{"level":"1"},
		     "type":"GET",
		     "dataType":"json",
		     "success": function (json) {
				 for(var i = 0 ; i < json.length; i ++){
					 var kc = json[i];
					 $("#lv1").append("<option value = ' "+kc.code+" '>" + kc.name +  "</option>");
				 }
			}
		 })
	})
	
	$(function(){
		 $("#lv1").on("change",function(){
			 var ls = $(this).val();
			 console.log(ls);
			 $.ajax({
				 "url":"/Ajax/Caidan",
			     "data":{"level":"2","two" : ls},
			     "type":"GET",
			     "dataType":"json",
			     "success": function (json) {
			    	 console.log(json);
					 for(var i = 0 ; i < json.length; i ++){
						 var c = json[i];
						 $("#lv2").append("<option value = ' "+c.code+" '>" + c.name +  "</option>");
					 }
				}
			 })
		 })
		
	})
</script>
</head>
<body>
       <select id ="lv1" style="width: 300px;height: 50px">
             <option value="selected">请选择教程</option>
       </select>
        <select id ="lv2" style="width: 300px;height: 50px"></select>
</body>
</html>




package com.imooc.ajax;


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;


import javafx.scene.control.Alert;


/**

 * Servlet implementation class Caidan

 */

@WebServlet("/Caidan")

public class Caidan extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

     //显示几级菜单

     String level = request.getParameter("level");

     //菜单名称

             String two = request.getParameter("two");

             List<CaiDang> list = new ArrayList<>();

             if(level.equals("1")) {

              list.add(new CaiDang("ai","区块链/深度学习"));

              list.add(new CaiDang("web","前端/后端"));

             }else if(level.equals("2")) {

              if(two.equals("ai")) {

              list.add(new CaiDang("q","区块链"));

              list.add(new CaiDang("sd","深度学习"));

              list.add(new CaiDang("sj","神经网络"));

              list.add(new CaiDang("r","人工智能"));

               }else if(two.equals("web")) {

               list.add(new CaiDang("h","Html"));

                 list.add(new CaiDang("j","JAVA"));

                 list.add(new CaiDang("c","CSS"));

                 list.add(new CaiDang("js","JS"));

               }

             }

             //把数据转成JSON

            String json = JSON.toJSONString(list);

            response.setContentType("text/html;charset=utf-8");

            response.getWriter().println(json);

}


/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}


}


写回答

1回答

芝芝兰兰

2019-03-19

同学你好。看下图中的两个位置,''内不要有空格,这样拼接会导致传过去的参数是有空格的

http://img.mukewang.com/climg/5c90911100016c8208190072.jpg

如果还有疑问,可以继续提问。如果解答了同学的疑问,望采纳~

祝学习愉快~


1

0 学习 · 10204 问题

查看课程

相似问题

回答 1

回答 1

回答 1