js页面代码:
function check_UserName(){
var obj = document.getElementById("text_UserName");
var req = new xmlRequst();
var responseText=callback;
xmlhttp.onreadystatechange = callback; switch (responseText) {
case '0':
...........
case '1':
............
case '2':
...........
xml函数: var xmlhttp;
function xmlRequst(){
var userName = document.getElementById("text_UserName").vaule;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml")
}
}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){
}
}
}
if(!xmlhttp){
alert("XMLHttpRequest对象创建失败!");
}else{
alert(xmlhttp);
alert(xmlhttp.readyState);
} xmlhttp.onreadystatechange = callback; xmlhttp.open("GET","zhucecheck?name="+userName,true); xmlhttp.send(null);
}回调函数:
var xmlhttp;
function callback(){
//var xmlhttp;
alert(xmlhttp);
alert(xmlhttp.readyState);
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var responseText = xmlhttp.responseText;
alert ("dedao");
}else
{
alert("出错了");
}
}
return responseText;
}
servlet代码:public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{ request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=GB2312");
PrintWriter out = response.getWriter();
String old = request.getParameter("name"); System.out.print("规矩");
if(old == null || old.length() == 0) {
out.println("0");
} else {
}
String name = new String(old.getBytes("gb2312"),"UTF-8");
//传过去处理。
checkuec cu=new checkuec();
if(cu.checkuec(old)){
out.println("1");
System.out.println("对了"); }else{
System.out.println("错了");
out.println("2");
}
}catch(Exception e){
e.printStackTrace();
}
}
js与xml在同一个页面。我觉得是红色部分没写对,没有得到callback的字符串。因为,我测试的时候,servlet的system。out能输出提示。不知道对不对呢?求大家给点专业的解释啊!!!!
function check_UserName(){
var obj = document.getElementById("text_UserName");
var req = new xmlRequst();
var responseText=callback;
xmlhttp.onreadystatechange = callback; switch (responseText) {
case '0':
...........
case '1':
............
case '2':
...........
xml函数: var xmlhttp;
function xmlRequst(){
var userName = document.getElementById("text_UserName").vaule;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml")
}
}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){
}
}
}
if(!xmlhttp){
alert("XMLHttpRequest对象创建失败!");
}else{
alert(xmlhttp);
alert(xmlhttp.readyState);
} xmlhttp.onreadystatechange = callback; xmlhttp.open("GET","zhucecheck?name="+userName,true); xmlhttp.send(null);
}回调函数:
var xmlhttp;
function callback(){
//var xmlhttp;
alert(xmlhttp);
alert(xmlhttp.readyState);
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var responseText = xmlhttp.responseText;
alert ("dedao");
}else
{
alert("出错了");
}
}
return responseText;
}
servlet代码:public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try{ request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=GB2312");
PrintWriter out = response.getWriter();
String old = request.getParameter("name"); System.out.print("规矩");
if(old == null || old.length() == 0) {
out.println("0");
} else {
}
String name = new String(old.getBytes("gb2312"),"UTF-8");
//传过去处理。
checkuec cu=new checkuec();
if(cu.checkuec(old)){
out.println("1");
System.out.println("对了"); }else{
System.out.println("错了");
out.println("2");
}
}catch(Exception e){
e.printStackTrace();
}
}
js与xml在同一个页面。我觉得是红色部分没写对,没有得到callback的字符串。因为,我测试的时候,servlet的system。out能输出提示。不知道对不对呢?求大家给点专业的解释啊!!!!
改为
response.getWriter().write('字符串');
我本来是xml放在另一个页面的,但是我不知道它和那个js之间怎么连接起来,传值。所以我就写在一起,方便传值。但是似乎有问题的。求解。