Ajax向servlet发送请求,接受不到数据

发布于 2022-09-04 21:18:22 字数 2512 浏览 14 评论 0

1.
html中
<input type="button" id="login" value="登录" onclick="checkLogin();">
js中:

var xmlHttp = false;
function createXMLHttpRequest(){
    try {// Chrome, Firefox, Opera, Safari
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        try {// Internet Explorer
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {// Internet Explorer
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                alert("your browser not support ajax!");
            }
        }
    }
    return xmlHttp;
}
function checkLogin(){
    console.log("ok");
    //1、调用创建XMLHttpRequest对象方法
    createXMLHttpRequest();
    //2、设置回调函数
    xmlHttp.onreadystatechange = callback;
    //3、向servlet/check发送请求
    xmlHttp.open("POST","./servlet/login.action",true);
    //4、向服务器端发送请求
    xmlHttp.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=UTF-8");
    var nameStr = document.getElementById('name').value;
    var pswStr = document.getElementById('psw').value;
    var para = "t="+Math.random()+"&"+"name="+nameStr +"&"+ "psw="+pswStr;
    console.log(para);
    xmlHttp.send(para);
}

function callback(){
    if(xmlHttp.readyState == 4){
        if(xmlHttp.status == 200){
            var str = xmlHttp.responseText;
            console.log(str);
            if(str == 'ok'){ //登录成功
                alert("登录成功");
            }else{
                alert("登录失败");
            }
        }
    }
}

后台servlet中:

        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        System.out.println("enter");
        String name = request.getParameter("name");
        String psw = request.getParameter("psw");
        System.out.println("name:"+name);
        System.out.println("psw:"+psw);

2、问题:
但我运行的时候,输入用户和密码 sa,sa 时候,
浏览器中调试,数据js中都获取到了的,但是network中没有请求记录,但是servet中进入方法了,参数却一直获取不到,这个怎么才对呢?
图片描述

图片描述

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小傻瓜 2022-09-11 21:18:22

1.跟着我操作. 打开控制台.点击Network.
2.然后点击你的登录按钮.次数Network会产生新的一条;
3.点击这一条.找到header下面的Request URL和form date.看看里面是否正常,如果不正常.JavaScript的锅,如果正常java的锅.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文