js ajax servlet 组合问题。
时间:2011-09-18
来源:互联网
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能输出提示。不知道对不对呢?求大家给点专业的解释啊!!!!
作者: wangxiaolin8852 发布时间: 2011-09-18
后台不要out.println
改为
response.getWriter().write('字符串');
改为
response.getWriter().write('字符串');
作者: fanchuanzhidu 发布时间: 2011-09-18
引用 1 楼 fanchuanzhidu 的回复:
后台不要out.println
改为
response.getWriter().write('字符串');
后台不要out.println
改为
response.getWriter().write('字符串');
还是不行啊?!!!我的xml alert(xmlhttp);alert(xmlhttp.readyState);出来后提示是 undefined(未定义)是什么意思啊??!!!
作者: wangxiaolin8852 发布时间: 2011-09-18
你的ajax封装的有问题 网上搜一个封装 或者用jquery的ajax吧 也不用封装 直接拿过来用
作者: fanchuanzhidu 发布时间: 2011-09-18
引用 3 楼 fanchuanzhidu 的回复:
你的ajax封装的有问题 网上搜一个封装 或者用jquery的ajax吧 也不用封装 直接拿过来用
你的ajax封装的有问题 网上搜一个封装 或者用jquery的ajax吧 也不用封装 直接拿过来用
求详解啊,哥哥?!!!
我本来是xml放在另一个页面的,但是我不知道它和那个js之间怎么连接起来,传值。所以我就写在一起,方便传值。但是似乎有问题的。求解。
作者: wangxiaolin8852 发布时间: 2011-09-18
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28