前端demo使用hbuilder写的,一个h5app,我想测试一下,手机端异步访问服务端,并拿到controler方法返回的数据,我这里的跨域是局域网内访问电脑中的项目
controller方法
@Controller
public class LoginController {
@RequestMapping("login")
@ResponseBody
public String testlogin(String username , String password, HttpServletResponse response){
Map<String,Object> map=new HashMap<String, Object>();
System.out.println("接受到消息:username:"+username+",password:"+password);
response.setHeader("Access-Control-Allow-Origin", "*");//设置请求头部
if(username.equals("admin")&&password.equals("123"))
// map.put("name", "hello word!");
return "success";
return "false";
}
}
前端
<!DOCTYPE html>
<html class="ui-page-login">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title></title>
<link href="css/mui.min.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" />
<script src="js/jquery-3.4.1.js"></script>
<style>
.area {
margin: 20px auto 0px auto;
}
.mui-input-group {
margin-top: 10px;
}
.mui-input-group:first-child {
margin-top: 20px;
}
.mui-input-group label {
width: 22%;
}
.mui-input-row label~input,
.mui-input-row label~select,
.mui-input-row label~textarea {
width: 78%;
}
.mui-checkbox input[type=checkbox],
.mui-radio input[type=radio] {
top: 6px;
}
.mui-content-padded {
margin-top: 25px;
}
.mui-btn {
padding: 10px;
}
.link-area {
display: block;
margin-top: 25px;
text-align: center;
}
.spliter {
color: #bbb;
padding: 0px 8px;
}
.oauth-area {
position: absolute;
bottom: 20px;
left: 0px;
text-align: center;
width: 100%;
padding: 0px;
margin: 0px;
}
.oauth-area .oauth-btn {
display: inline-block;
width: 50px;
height: 50px;
background-size: 30px 30px;
background-position: center center;
background-repeat: no-repeat;
margin: 0px 20px;
/*-webkit-filter: grayscale(100%); */
border: solid 1px #ddd;
border-radius: 25px;
}
.oauth-area .oauth-btn:active {
border: solid 1px #aaa;
}
.oauth-area .oauth-btn.disabled {
background-color: #ddd;
}
</style>
</head>
<body>
<header class="mui-bar mui-bar-nav">
<h1 class="mui-title">登录</h1>
</header>
<div class="mui-content">
<form id='login-form' class="mui-input-group">
<div class="mui-input-row">
<label>账号</label>
<input id='account' type="text" class="mui-input-clear mui-input" placeholder="请输入账号">
</div>
<div class="mui-input-row">
<label>密码</label>
<input id='password' type="password" class="mui-input-clear mui-input" placeholder="请输入密码">
</div>
</form>
<form class="mui-input-group">
<ul class="mui-table-view mui-table-view-chevron">
<li class="mui-table-view-cell">
自动登录
<div id="autoLogin" class="mui-switch">
<div class="mui-switch-handle"></div>
</div>
</li>
</ul>
</form>
<div class="mui-content-padded">
<button id='login' class="mui-btn mui-btn-block mui-btn-primary" onclick="loginBtn()">登录</button>
<div class="link-area"><a id='reg'>注册账号</a> <span class="spliter">|</span> <a id='forgetPassword'>忘记密码</a>
</div>
</div>
<div class="mui-content-padded oauth-area">
</div>
</div>
<script>
$(function(){
$("#login").click(function(){
var username=$("#account").val();
var password=$("#password").val();
var url="http://192.168.0.183:9090/testlogin_war_exploded/login";
$.ajax({
type:"post",
url:url,
// dataType: 'text',
jsonp: "callback",
data:{'username':username,'password':password},
async:true,
error:function(XMLHttpReuqest,textStautus){
alert(XMLHttpRequest.status);
alert(textStautus);
},
success:function(result){
if(result=="false")
alert("登录失败")
else
alert("登录成功")
}
});
})
})
</script>
</body>
</html>
前端部分利用hbuilder软件打包成app
输入账号和密码,访问电脑上运行的项目路径http://192.168.0.183:9090/testlogin_war_exploded/login
如果,用户名为:“admin”密码为:“123”,就返回“succes”字符串到前端,否则返回“false”,
1.输入账号:aaaa,密码:123
结果:
服务器端:
2.输入账号:admin,密码:123
结果:
服务器端:
服务端成功接收到,前端传过来的数据。