Action返回给Ajax,ajax接收值的问题

问题描述

//根据IE的类型创建一个XmlHttpRequest对象 function createXmlHttpRequest(){ if(window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } else if(window.XMLHttpRequest) { return new XMLHttpRequest; } } var xmlHttpRequest; //根据用户名称发送请求到服务器 function requestServer(){ var userName=document.getElementById("uname").value; if ( userName== ""){ alert("请输入用户!"); document.getElementById("uname").focus(); return; } var userPassword=document.getElementById("upassword").value; if ( userPassword== ""){ alert("请输入密码!"); document.getElementById("upassword").focus(); return; } var securityCode=document.getElementById("validateNum").value; if ( securityCode== ""){ alert("请输入验证码!"); document.getElementById("validateNum").focus(); return; } var cookieData=document.login.cookieData.checked; delCookie("cookieName"); delCookie("cookiePassword"); delCookie("cookieData"); if(cookieData==true){ saveCookie("cookieName",userName); saveCookie("cookiePassword",userPassword); saveCookie("cookieData",cookieData); } var account=document.getElementById("uname").value; if(account!=null) { var url="userAction.do?action=checkValidName&account="+account; //创建XMLHttpRequest组件 xmlHttpRequest=createXmlHttpRequest(); //设置回调函数,让其等待服务器的响应 xmlHttpRequest.onreadystatechange=doSubmit; //初始化xmlHttpRequest组件,传入URL xmlHttpRequest.open("GET",url,true); //发送请求 xmlHttpRequest.send(null); } } //登录,获得服务器返回的信息并做出相应提示 function doSubmit(){ if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200){ var text=xmlHttpRequest.responseText; alert(text); if(text=="1"){ alert("此用户名不存在!"); document.getElementById("uname").focus(); return; }else if(text=="2"){ alert("验证码错误"); document.getElementById("validateNum").focus(); return; }else if(text=="0"){ submitForm(login); } }} Action调用下面这个JAVA类Java类代码 * 判断用户名和验证码是否正确 */ public int checkValidName(){ System.out.println("我进来checkValidName了"); String account = ServletActionContext.getRequest().getParameter("account"); System.out.println(account); //判断用户名是否存在 int a = this.privilegeService.ValidName(account); if(a==1) { this.setMessage("用户名不存在!"); return 1; }else{ //判断验证码是否正确 String validateNum = this.getValidateNum(); String result = ServletActionContext.getRequest().getSession().getAttribute("ValidateNum").toString(); if(validateNum == null ||result == null || validateNum.trim().equals("")||!result.equalsIgnoreCase(validateNum)){ this.setMessage("验证码输入错误登录失败!"); return 2; } } return 0; } var text=xmlHttpRequest.responseText; alert(text);为什么text打印出来是下面图片信息啊为什么我得到的text不是我Action返回的值?我要怎么才能得到Action return的值。 问题补充:andy_javahome 写道

解决方案

Writer writer = reponse.getWriter();System.out.println("Json Data :" + jsonObject.toString());writer.write("这方你要返回的值,String类型");checkValidName返回null就可以了
解决方案二:
这个无所谓。我对ajax也不是很熟,只是简单额应用,一般都是字段检测,或者局部刷新一个列表
解决方案三:
是的你可以该封装一个ajax工具,不用每次都重复那些创建xmlrequest对象的代码
解决方案四:
response.setContentType("text/html; charset=gb2312");//charset设置编码方式response.getWriter().write("你写给页面的内容");
解决方案五:
writer.write(String)
解决方案六:
sorry !是writer.write("");就一个参数
解决方案七:
别忘加上writer.flush();writer.close();

时间: 2024-09-30 04:42:52

Action返回给Ajax,ajax接收值的问题的相关文章

Extjs如何获取后台方法返回的值然后前台接收值再把此值放入action url里进行load加载

问题描述 Extjs如何获取后台方法返回的值然后前台接收值再把此值放入action url里进行load加载 前台://把上传的 文件发送到相应Action function upload(){ var tml = document.getElementById(""fileId""); if(tml.value == ''){ Ext.MessageBox.alert('提示''请选择需要上传文件'); return; } Ext.Ajax.request({ u

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

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

Ajax Hacks-Hack6 接收数字数据

ajax|数据 Ajax Hacks-Hack6 接收数字数据 本Hack以数字形式接收股票价格,然后和用户输入处理以后显示出结果.如果服务器没有返回正确的数字,程序会显示错误信息. Ajax技术的一个巨大进步就是从服务器接收不连续的数据,而不是整个页面.有时,这些不连续信息不得不作为一个数字,而不是作为一个字符串(就像上一个Hack讲的那样)或者其他对象.JavaScript能够很容易的将其他各式的数据转换成数字而不需要用户的干预,但尽管如此,用户还是不想从服务器得到一些奇怪的数据(需要格式检

AJAX如何接收JSON数据示例介绍_AJAX相关

简介 在我们了解如何使用AJAX返回JSON数据的时候要先明白下列几点 1. JSON如何来表示对象的 2. JSON如何来表示数组的 复制代码 代码如下: var object = { "labId": "1", "labName": "服装" }; 通常我们使用如上的方式来表示JSON对象,那么数组呢 复制代码 代码如下: var array = [{ "labId": "1", &

AJAX如何接收JSON数据示例介绍

简介 在我们了解如何使用AJAX返回JSON数据的时候要先明白下列几点 1. JSON如何来表示对象的 2. JSON如何来表示数组的 复制代码 代码如下: var object = { "labId": "1", "labName": "服装" }; 通常我们使用如上的方式来表示JSON对象,那么数组呢 复制代码 代码如下: var array = [{ "labId": "1", &

Ajax Hacks-hack7接收JSON格式的数据

ajax|js|数据 Ajax Hacks-hack7接收JSON格式的数据 怎样才能使用Ajax从服务器接收js对象数据呢?你可以使用一种叫javascript 对象符号的格式接收数据.本hack讲述用户输入信息,从服务器得到JSON格式的响应数据. JSON很普通而直观,这也许是许多开发者喜欢使用的原因吧.一个例子就是,服务器程序从服务器得到信息,然后以JSON格式返回给web页面.JSON格式的数据描述如下: 左大括号"{" 一个或多个属性名,以冒号隔开的对应的值,以逗号隔开的属

返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test

原文:返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test[索引页][源码下载] 返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test 作者:webabcd 介绍 asp.net mvc 之 Action Filter, UpdateModel, ModelBinder, Ajax, U

ajax前台接收后台传的图片

问题描述 ajax前台接收后台传的图片 ajax前台接收后台传的图片地址 ,用字符串拼接的 为什么不显示图片,别的数据都显示的 解决方案 后台传过来的图片路径前边加上<%=request.getContextPath()%>这个试试.如果是在JS中的话,可以在页面的隐藏输入框中先给出这个值,然后在JS中获取,再拼接上. 直接在页面显示的话: <img src="<%=request.getContextPath()%>/${adCarousel.picture}&q

如何从ajax里面读出值,并在外边调用它?

问题描述 如何从ajax里面读出值,并在外边调用它? $(document).ready(function(){ $.ajax({ type:"POST", url:"recommended_title.do", data: "", async: false, dataType:"text", success:function(data){ var jsonList=eval("("+data+"