ajax传值,servlet得到为空

问题描述

ajax传值,servlet得到为空

js代码:
var xhr = getXhr();
function getXhr(){
var xhr = null;
try {
xhr = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
xhr = false;
}
}
}
if (!xhr) {
alert("err Happend!");
}
return xhr;
}
function check() {
var user = document.getElementById("user").value;
var url = "RegisterServlet";
if (xhr.readyState == 4 && xhr.status == 200) {
var str = xhr.responseText;
document.getElementById("checkname").innerHTML=str;
}
xhr.open('post',url,true);
alert(user);
xhr.send("id"+user);
}
servlet代码:
package com.Servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.Dao.LoginDao;
import com.Model.Login;

public class RegisterServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

    response.setContentType("text/html");
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    PrintWriter out = response.getWriter();
    String username=request.getParameter("id");
    System.out.println(username);
    LoginDao dao=new LoginDao();
    boolean mark=dao.RegisterCheck(username);
    System.out.println(mark);
    if(mark==true){
        out.println("用户名重复");
        System.out.println("用户名重复");
    }else if(mark==false){
        out.println("用户名可用");
        System.out.println("用户名可用");
    }
}

}
只截取了ajax传值部分,还有登陆的验证也写在doPost里先删了,
之前用get方法能行,改成post就出问题了;
大神帮看看,js里能得到user的值,servlet得到ajax传来的user值为null,

解决方案

http://blog.csdn.net/rushkid02/article/details/7506787

解决方案二:

根本你就没传参数,user没传

解决方案三:

我看懂了。
我想省略写
还是应该写个变量
infor="id"+user;
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 前面再加个这个
xhr.send(infor);

时间: 2025-01-21 12:48:19

ajax传值,servlet得到为空的相关文章

jQuery Ajax传值到Servlet出现乱码问题的解决方法_jquery

最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如下: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/ht

jsp使用jquery的ajax向servlet传值,

问题描述 是这样的,一个页面,用户填写完信息后,点击按钮,然后,用servlet发送邮件到一个邮箱,判读邮件是否发送成功,然后使用ajax,如果成功,自动弹出一个div:发送邮件成功与否我想用true和false来实现,那ajax这里该如何实现呢:初学ajax,请多指教: 解决方案 $.ajax({url: '/servlet.do',param: '',success: function(d) { if(d) // 发送成功,弹出DIV等处理 else // 发送失败}});

ajax传值(form表单)

问题描述 ajax传值(form表单) 我想用ajax将一个form表单传递给servlet.各位,能否实现?? 解决方案 jQuery $.post(url, $('form').serialize, function(d) { }) 解决方案二: ajax 和 直接 post 产生的数据原理是一样的,肯定能实现的,两者都是用的一样的协议.

PHP Ajax传值中文字符乱码如何解决

在PHP网站开发中,为了增加用户体验度,Ajax是一种经常使用的技术,但是对于初学者来说,时常会碰到Ajax传值中文字符串时变成乱码的问题,有什么办法可以解决PHP AJAX传值中文字符乱码的问题呢? 我们知道Ajax技术由Javascript演变而来,而Javascript使用UTF-8编码,当前后台页面采用GBK或者其他编码,同时没有进行编码转换时,就会出现中文字符乱码问题. PHP Ajax传值中文字符乱码解决方法 方法一.前后台页面以及数据库统一采用UTF8编码,这是最简单的方法. 方法

关于ajax传值,action里面怎么接值的问题

问题描述 关于ajax传值,action里面怎么接值的问题 这是jsp里面的代码: $("#bn").blur(function(){ $.ajax({ type:"post", url:"book!checkBookName.action", data:{bname:bookname}, success:function(msg){ if("true"==msg){ $("#ck").html("

ajax传值到后台,data该怎么写,求助!!

问题描述 ajax传值到后台,data该怎么写,求助!! ajax传值到后台,这样写直接输出data error: data: ""{'s':'"" + selectedText + ""'}""没办法传带单引号的data: ""{ ""s"":""""+ selectedText+""""

关于jquery封装的ajax传值到javaWEB后台问题。

问题描述 关于jquery封装的ajax传值到javaWEB后台问题. 前台用了jquery,后台用了 struts2框架. 前台: $.ajax({ type : "POST", url : "recmanager.action", dataType : "json", data : { "manager" : $('#manager').val(), "password":$('#password').

ajax传值到aspx页面该怎么接收值

问题描述 ajax传值到aspx页面该怎么接收值 求各位看看 是哪里错了 或者没错应该怎么接收值 解决方案 在default.aspx的page_load用request.forms["控件id"]可以得到. 解决方案二: 注意default.aspx必须返回json,而不能返回页面,否则你的前端接收不了json会转入error 解决方案三: 更好的做法是另外开一个页面.我不相信你的default.aspx不做别的. 解决方案四: 这是因为你指定了不恰当的contentType,把co

关于ajax连接servlet的问题

问题描述 关于ajax连接servlet的问题 最近开始学习ajax,看的是<ajax基础教程>一书. 书中一个测试代码,在html页面中使用ajax连接servlet发送参数,返回一些数据. 但是始终出错,显示404,找不到servlet文件. 我是在myEclipse中部署的,书中在NetBeans中部署,所以下载的代码不能直接使用. 我复制了html文件,重新生成了servlet,复制代码进去. 不知道操作上有没有什么错误? 解决方案 404就是你的servlet没有配置正确,导致那个u