ajax提交数据到java后台,并且返回json格式数据前台接收处理值
1.前台html页面。有一段代码如下:
账 户:
<input type="text" name="userName" id="userN" placeholder="请输入账户名">
<br />
<br />
<br /> 密 码:
<input type="text" name="passwd" id="userP" placeholder="请输入密码">
<br />
<input type="button" value="登录" id="userB">
----------
在页面引入jquery库(具体可以去网上查)下边是一段js代码:
<script type="text/javascript">
$(document).ready(function() {
$("#userB").click(function() {
var name = $("#userN").val();
var pawd = $("#userP").val();
jQuery.ajax({
type : 'POST',
dataType : 'json',//提交方式是json,也可以是html和text
//dataType:'json' 的意思是URL返回值是以JSON的格式传过来的,然后在页面上解析时就要采取JSON格式来展示。
url : 'servlet/UserInfoAction',//提交到servlet中
cache : false,
data : {
name : name,
pawd : pawd,
},
success : function(data, textStatus) {
// 请求成功时处理
alert(data[0].name);//用这种写法能取出后台传回来的json对象的属性
if (data[0]!=null) {
alert("登录成功!");
var url = getRootPath()+ "/welcome.html";//获取工程路径
// var url = getRootPath() + "/servlet/showMessAction";
location.href = url;
}
},
error : function() {
alert("账户密码错误!");
}
});
});
});
//这是一段获取项目路径的js方法
//js获取项目根路径,如:http://localhost:8099/UniqueduHome
function getRootPath() {
//获取当前网址,如: http://localhost:8099/UniqueduHome/view/error/notAuthorize.jsp
var curWwwPath = window.document.location.href;
//获取主机地址之后的目录,如: UniqueduHome/view/error/notAuthorize.jsp
var pathName = window.document.location.pathname;
var pos = curWwwPath.indexOf(pathName);
//获取主机地址,如: http://localhost:8099
var localhostPaht = curWwwPath.substring(0, pos);
//获取带"/"的项目名,如:/UniqueduHome
var projectName = pathName.substring(0,
pathName.substr(1).indexOf('/') + 1);
return (localhostPaht + projectName);
}
</script>
2.java后台
String username =request.getParameter("name");
String password =request.getParameter("pawd");
//自己写的方法,返回一个实体对象
UserInfo userInfo = userInfoService.getUser(username, password);
if (null != userInfo) {
//向前台输出数据用response.getWriter().print()这种写法
//JSONArray.fromObject(userInfo);转为json数组格式
//也可以返回一个字符串,页面是判断data跟返回的字符串是否相等做逻辑处理
response.getWriter().print(JSONArray.fromObject(userInfo));
} else {
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "text/html;charset=UTF-8");
response.getWriter().println("<font color='red'>账户名/密码错误</font>");
return;
}
}
ajax提交数据到java后台,并且返回json格式数据前台接收处理值的更多相关文章
- ajax请求后台,返回json格式数据,模板!
添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="te ...
- 使用jQuery发送POST,Ajax请求返回JSON格式数据
问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- WebService返回json格式数据供苹果或者安卓程序调用
1.新建一个WebService. 2. /// <summary> /// DemoToJson 的摘要说明 /// </summary> [WebService(Names ...
- 返回json格式数据乱码
本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody @RequestMapping(value = "getListByTime", ...
- Django 1.8.11 查询数据库返回JSON格式数据
Django 1.8.11 查询数据库返回JSON格式数据 和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式 环境 Win10 Python2.7 Django 1.8.11 返回多 ...
- springmvc通过ajax异步请求返回json格式数据
jsp 首先创建index.jsp页面 <script type="text/javascript"> $(function () { $("#usernam ...
- 如何让webapi只返回json格式数据
最近脑子不好用,总记不住事,以前搞过让webapi只返回json格式的数据,今天有人问我又突然想不起了,后来总结一下,备忘一下,大概有下面几种处理方式 1.在WebApiConfig类的Registe ...
- C#返回JSON格式数据
又类的属性生成json格式数据 using System; using System.Collections.Generic; using System.Linq; using System.Web; ...
随机推荐
- discuz模板语法
Discuz! X 模板的解析主要是 ./source/class/class_template.php 文件解析处理的,如果需要深入了解请可以看看这个文件! 模板嵌套语法 将被嵌套模板内容解析为 P ...
- 消耗战 bzoj 2286
消耗战(2s 512MB)repair [问题描述] 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达.现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经 ...
- html5上传图片(一)一跨域上传
最近开发一个上传图片的模块,传图片的接口不支持跨域上传,并且只支持单张上传,而我们的产品要求要实现多张上传.我搞了一个代理页面,先将图片传到代理页面,然后再通过代理页面传到上传图片接口.虽然这种方式经 ...
- 记处理线上记录垃圾日志 The view 'Error' or its master was not found
最近监控线上日志,网站是ASP.NET MVC 开发的,发现不少错误日志都记录同样的内容: The view 'Error' or its master was not found or no vie ...
- 清空Fragment回退栈中某个Fragment
出栈的方法:getActivity().getSupportFragmentManager().popBackStackImmediate(CreateOneFragment.class.getNam ...
- Android教程收集贴
Loader & REST Rest Loader Tutorial [github源码] [源码演示] [github作者主页] Twitter Timeline Sample for An ...
- c++宏定义命令
在程序开始以#开头的命令,他们是预编译命令.有三类预编译命令:宏定义命令.文件包含命令.条件编译命令:今天聊聊宏定义: 宏定义命令将一个标识符定义为一个字符串,源程序中的该标识符均以指定的字符串来代替 ...
- UML类图关系全面剖析
UML的类图关系分为: 关联.聚合/组合.依赖.泛化(继承).而其中关联又分为双向关联.单向关联.自身关联:下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里. 1.关联 双向关联:C1- ...
- 返回人民币大写方式(num2rmb)
CREATE OR REPLACE FUNCTION num2rmb(Pi_MONEY NVARCHAR2) RETURN NVARCHAR2 IS -- PURPOSE :返回人民币大写方式 v_N ...
- 织梦dedecms漏洞修复大全(5.7起)
很多人说dedecms不好,因为用的人多了,找漏洞的人也多了,那么如果我们能修复的话,这些都不是问题. 好,我们来一个一个修复.修复方法都是下载目录下该文件,然后替换或添加部分代码,保存后上传覆盖(记 ...