设置弹框,没显示;在ajax中的HTML标签也不显示原因及解决

请求页面,使用AJAX发出请求,并接受响应(返回值)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String basePath = request.getScheme() + "://" +
            request.getServerName() + ":" + request.getServerPort() +
            request.getContextPath() + "/";
%>
<html>
<head>
    <title>Title</title>
    <base href="<%=basePath%>">
    <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
    <script type="text/javascript">
        function btnSub() {
            $.ajax({
                url:"register.do",
                type:"POST",
                data:{
                  "name":$("#stuName").val(),
                  "age":$("#stuAge").val(),
                  "email":$("#stuEmail").val()
                },
                success:function (resp) {
                    alert(resp)
                }
            })
        }
    </script>
</head>
<body>
<div align="center">
    <table>
        <tr>
            <td>姓名:</td>
            <td><input id="stuName" type="text" name="name"/></td>
        </tr>
        <tr>
            <td>年龄:</td>
            <td><input id="stuAge" type="text" name="age"/></td>
        </tr>
        <tr>
            <td>邮箱:</td>
            <td><input id="stuEmail" type="text" name="email"/></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input id="btnSub" type="button" value="注册"οnclick="btnSub()"/></td>
        </tr>
    </table>
</div>
</body>
</html>

接收请求,执行处理方法,返回处理结果

    @RequestMapping(value = "/register.do", produces = "text/plain;charset=utf-8")
    @ResponseBody
    public String register(Student student) {
        int i = service.insertStudent(student);
        String msg = "";
        if (i > 0) {
            msg = student.getName() + "注册成功";
        } else {
            msg = student.getName() + "注册失败";
        }
        return msg;
    }

在这里如果返回值与ajax和接收结果类型需要相同,否则不会出现弹框。
String类型的返回值,被@ResponseBody修饰,返回值不是路径,而是字符串,所以ajax接收返回值不需要声明dataType:“json”。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title></title>
    <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $.ajax({
                url:"avgAge.do",
                type:"get",
                success:function (resp) {
                    $("#main").append("<h1>学生平均年龄:"+resp+"</h1>")
                }
            })
        })
    </script>
</head>
<body>
<div align="center" id="main">
</div>
</body>
</html>
    @RequestMapping("/avgAge.do")
    @ResponseBody
    public String avgAge() {
        Float avgAge = service.avgAge();
        return avgAge.toString();
    }

在这里如果返回值与ajax和接收结果类型需要相同,否则不会加载ajax中的< h1 >标签。
String类型的返回值,被@ResponseBody修饰,返回值不是路径,而是字符串,所以ajax接收返回值不需要声明dataType:“json”。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值