//我写的用户名验证:js:
function A{
var ma=new myAjax;
myAjax('zhucecheck',function(res){
alert(res);
switch (res) {
case '0':..........
..........}
}
}//紧接着的是:
function myAjax(url,callback){
var userName=document.getElementById("text_UserName").vaule;
url = "zhucecheck" + "&" + escape(new Date());
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
XMLHttpReq.setRequestHeader("context-type","text/xml;charset=UTF-8");
}
}else if(window.ActiveXObject){
var activexName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i=0;i<activexName.length;i++){
try{
xmlhttp = new ActiveXObject(activexName[i]);
break;
} catch(e){
}
}
}
xmlhttp.open("GET","zhucecheck?name="+userName,true);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4){
var msg = xmlhttp.responseText;
alert("ff");
callback(msg);
}
}
xmlhttp.send(null);
}
java 的servlet写的是::
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{ //request.setCharacterEncoding("UTF-8");
response.setHeader("Charset","UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out =response.getWriter();
String old = request.getParameter("name"); System.out.println("n="+old);
if(old == null || old.length() == 0) {
out.print("2");
System.out.println("错.00...");
} else {
}
String name = new String(old.getBytes("UTF-8"));
//传过去处理。
checkuec cu=new checkuec();
if(cu.checkuec(old)){
out.print("0");
System.out.println("对..."); }else{
System.out.println("错....");
out.print("1");
}
}catch(Exception e){
e.printStackTrace();
}
}然后每次调试的时候,控制台输出的是n=undefined,但是又输出”对。。“,我就感觉是xml和servlet的传值协议有问题,但是我都写的是utf-8,改成GB2312也不行,输入英文也不行。纠结了就。大家看看是什么问题咯??小弟初学,有什么问题大家请狂喷!!!
function A{
var ma=new myAjax;
myAjax('zhucecheck',function(res){
alert(res);
switch (res) {
case '0':..........
..........}
}
}//紧接着的是:
function myAjax(url,callback){
var userName=document.getElementById("text_UserName").vaule;
url = "zhucecheck" + "&" + escape(new Date());
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
XMLHttpReq.setRequestHeader("context-type","text/xml;charset=UTF-8");
}
}else if(window.ActiveXObject){
var activexName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i=0;i<activexName.length;i++){
try{
xmlhttp = new ActiveXObject(activexName[i]);
break;
} catch(e){
}
}
}
xmlhttp.open("GET","zhucecheck?name="+userName,true);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4){
var msg = xmlhttp.responseText;
alert("ff");
callback(msg);
}
}
xmlhttp.send(null);
}
java 的servlet写的是::
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{ //request.setCharacterEncoding("UTF-8");
response.setHeader("Charset","UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out =response.getWriter();
String old = request.getParameter("name"); System.out.println("n="+old);
if(old == null || old.length() == 0) {
out.print("2");
System.out.println("错.00...");
} else {
}
String name = new String(old.getBytes("UTF-8"));
//传过去处理。
checkuec cu=new checkuec();
if(cu.checkuec(old)){
out.print("0");
System.out.println("对..."); }else{
System.out.println("错....");
out.print("1");
}
}catch(Exception e){
e.printStackTrace();
}
}然后每次调试的时候,控制台输出的是n=undefined,但是又输出”对。。“,我就感觉是xml和servlet的传值协议有问题,但是我都写的是utf-8,改成GB2312也不行,输入英文也不行。纠结了就。大家看看是什么问题咯??小弟初学,有什么问题大家请狂喷!!!
解决方案 »
- 【求助】关于JQuery获取点击的字符
- 有人 用过 梦三秋 的 表单 插件 吗 有问题求教 Q 我963083815
- 如何取出combox的缓存?
- 关于一个类似鼠标经过后显示层的问题,可对显示层进行操作,而且是多个显示隐藏层.可能类似下拉菜单吧
- javascript 中怎么保留两位小数
- window.parent.document 不能访问
- 为何总提示缺少“;” ?
- 如何用JavaScript去查找文件夹的某一个文件
- 框架的滚动条在1024的情况下背景是白色,怎样把它去掉呀?
- 求助:我不知道怎么用语言来打开数据库,请各位吓帮忙,一定给分。
- session和application到底有什么区别呢?
- Extjs fileuploadfield获取全路径问题
是因为js里
var userName=document.getElementById("text_UserName").vaule;没有取到value
查看是否存在text_UserName你只是返回一个0对于编码没什么意义
你真接访问一下"zhucecheck?name="+userName这个路径看看能不能返回1或0
我访问"zhucecheck?name="+userName这个路径是没有问题的,能正确返回
var userName=document.getElementById("text_UserName").vaule;
下
alert(userName);看是否有东西。
楼主书写有很多不规范地方,比如 checkuec cu=new checkuec();
类名要大写。楼主我写个ajax工具类,你建个 ajaxUtil.js文件,把下面代码copy这个文件中var Ajax = {
createXHR:function(){
if(window.XMLHttpRequest){
var xhr = new XMLHttpRequest();
return xhr;
}else if(window.ActiveXObject){
var xhr = new ActiveXObject("Microsoft.XMLHTTP");
return xhr;
}
},
sendRequest:function(method,url,data,callback){// callback代表函数名
var xhr = this.createXHR();
xhr.open(method,url,true);
if("GET"==method.toUpperCase()){
xhr.send(null);
}else if("POST"==method.toUpperCase()){
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send(data);
}
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
//callback(xhr);可以这样
callback({text:xhr.responseText,xml:xhr.responseXML});// 也可以这样。这样最好,面向对象
}
}
},
};使用方法 在jsp中<script type="text/javascript" src="ajaxUtil.js"></script>
<script type="text/javascrip">
function method(){
Ajax.sendRequest("get","你的url","name=张三&password="123456",callback);// 调用自己写的Ajax工具类
}
function callback(data){// 返回函数
var aa = data.txt;// 得到字符串
}
</script>后台servlet不变,仍然是String name = request.getParameter("name");
String passowrd = request.getParameter("password");