今天写了一下用json异步方式请求接收数据,addBrand.html页面中,对提交按钮设置了单击事件来使addServlet来获取到我预先定义的一个json类型的假数据,可是我发现,无论怎么点击提交按钮,都触发不了单击事件,控制台没有输出,看了半天代码也想不出来问题出自哪里,请大家帮我看一下吧,谢谢啦
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>添加品牌</title>
</head>
<body>
<h3>添加品牌</h3>
<form action="" method="post">
品牌名称:<input id="brandName" name="brandName"><br>
企业名称:<input id="companyName" name="companyName"><br>
排序:<input id="ordered" name="ordered"><br>
描述信息:<textarea rows="5" cols="20" id="description" name="description"></textarea><br>
状态:
<input type="radio" name="status" value="0">禁用
<input type="radio" name="status" value="1">启用<br>
<input type="button" id="bt" value="提交">
</form>
<script src="js/axios-0.18.0.js"></script>
<script>
// 1.添加单机事件
document.getElementById("bt").onclick = function (){
// 2.发送AJAX请求
axios({
method:"post",
url:"http://localhost:8080/brand-demo/addServlet",
data:{brandName:"华为"}
}).then(function (resp){
})
}
</script>
</body>
</html>
package com.itheima.web;
import com.alibaba.fastjson.JSON;
import com.itheima.pojo.Brand;
import com.itheima.service.BrandService;
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 java.io.BufferedReader;
import java.io.IOException;
@WebServlet("/addServlet")
public class addServlet extends HttpServlet {
private BrandService brandService=new BrandService();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.接收数据
System.out.println("................");
// request.getParameter("brandName");不能接收json的数据
// 获取请求体数据
BufferedReader bufferedReader = request.getReader();
String readLine = bufferedReader.readLine();
// 将json字符串转成java对象
Brand brand = JSON.parseObject(readLine, Brand.class);
System.out.println(brand);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}