用postman发请求能进后端接口,为何真机测试不行
来源:7-4 登录注册前后端联调

慕桂英5534918
2025-08-05
如图,在postman 用ip访问后端接口能进去,但真机调试不行,我真没看出前端的ip和参数,请求方式等哪有问题
真机调试还是没把请求发给后端
/**
* 后端服务发布的url地址
*/
serverUrl: 'http://192.168.0.6:8080',
<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>
<script src="js/mui.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/registLogin/util.css">
<link rel="stylesheet" type="text/css" href="css/registLogin/main.css">
<script type="text/javascript" charset="utf-8">
mui.init();
</script>
<style>
.p-t-85 {
padding-top: 10px;
}
.p-b-70 {
padding-bottom: 35px;
}
.m-t-85 {
margin-top: 15px;
}
.container-login100 {
padding: 25px;
}
/*toast信息提示*/
.mui-toast-container {
bottom: 50% !important;
}
.mui-toast-message {
opacity: 0.6;
color: #fff;
width: 180px;
padding: 70px 5px 10px 5px;
}
</style>
</head>
<body>
<div class="mui-content">
<div class="container-login100">
<div class="wrap-login100 p-t-85 p-b-20">
<form id="userform">
<span class="login100-form-title p-b-70">
<h5>Netty 实战</h5>
</span>
<span class="login100-form-avatar">
<img id="img_login_face" src="css/registLogin/arrow.jpg" alt="风间影月">
</span>
<div class="wrap-input100 validate-input m-t-85 m-b-35">
<input class="input100" type="text" id="username" name="username" placeholder="用户名">
<span class="focus-input100"></span>
</div>
<div class="wrap-input100 validate-input m-b-50">
<input class="input100" type="password" id="txt_password" name="password" placeholder="密码">
<span class="focus-input100"></span>
</div>
<div class="container-login100-form-btn">
<button type="submit" id="registOrLogin" class="login100-form-btn">
登录/注册1
</button>
</div>
</form>
</div>
</div>
</div>
<script type="text/javascript" src="js/app.js" ></script>
<script type="text/javascript">
mui.plusReady(function() {
// 判断用户是否注册登录过,如果本地内存有全局的用户对象,此时直接跳转到首页
var userInfo = app.getUserGlobalInfo();
if (userInfo != null) {
// 页面跳转
mui.openWindow("index.html", "index.html");
}
var userform = document.getElementById("userform");
var username = document.getElementById("username");
var txt_password = document.getElementById("txt_password");
userform.addEventListener("submit", function(e){
// ==== 必须始终阻止默认行为 ====
e.preventDefault();
// 判断用户名是否为空,如果为空则让其获得焦点
if (!app.isNotNull(username.value)) {
// 获取焦点
username.focus();
} else if (!app.isNotNull(txt_password.value)) {
// 获取焦点
txt_password.focus();
} else {
// 判断用户名和密码的长度,进行限制
if (username.value.length > 12) {
app.showToast("用户名不能超过12", "error");
return false;
} else if (txt_password.value.length > 12) {
app.showToast("密码不能超过12", "error");
return false;
}
// 获取每台手机的唯一cid
var cid = plus.push.getClientInfo().clientid;
console.log("请求地址:", app.serverUrl + "/u/registOrLogin");
// 与后端联调
mui.ajax(app.serverUrl + "/u/registOrLogin",{
data:JSON.stringify({
username:username.value,
password:txt_password.value,
cid: cid
}),
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
timeout:10000,//超时时间设置为10秒;
headers:{'Content-Type':'application/json'},
success:function(data){
//服务器返回响应,根据响应结果,分析是否登录成功;
// console.log(JSON.stringify(data));
username.blur();
txt_password.blur();
if (data.status == 200) {
// 登录或者注册成功之后,保存全局用户对象到本地缓存
var userInfoJson = data.data;
app.setUserGlobalInfo(userInfoJson);
// 页面跳转
mui.openWindow("index.html", "index.html");
} else {
app.showToast(data.msg, "error");
}
},
error: function(xhr, type, err) {
console.error("❌ 请求失败:", type, err);
app.showToast("请求失败: " + type, "error");
}
});
}
// 阻止默认时间,阻止默认表单提交
e.preventDefault();
});
})
</script>
</body>
@CrossOrigin(origins = “", allowedHeaders = "”)
@RestController
@RequestMapping(“u”)
public class UserController {
@Autowired
private UserService userService;
@Autowired
private FastDFSClient fastDFSClient;
/**
* @Description: 用户注册/登录
*/
@PostMapping("/registOrLogin")
public IMoocJSONResult registOrLogin(@RequestBody Users user) throws Exception {
// 0. 判断用户名和密码不能为空
if (StringUtils.isBlank(user.getUsername())
|| StringUtils.isBlank(user.getPassword())) {
return IMoocJSONResult.errorMsg("用户名或密码不能为空...");
}
// 1. 判断用户名是否存在,如果存在就登录,如果不存在则注册
boolean usernameIsExist = userService.queryUsernameIsExist(user.getUsername());
Users userResult = null;
if (usernameIsExist) {
// 1.1 登录
userResult = userService.queryUserForLogin(user.getUsername(),
MD5Utils.getMD5Str(user.getPassword()));
if (userResult == null) {
return IMoocJSONResult.errorMsg("用户名或密码不正确...");
}
} else {
// 1.2 注册
user.setNickname(user.getUsername());
user.setFaceImage("");
user.setFaceImageBig("");
user.setPassword(MD5Utils.getMD5Str(user.getPassword()));
userResult = userService.saveUser(user);
}
UsersVO userVO = new UsersVO();
BeanUtils.copyProperties(userResult, userVO);
return IMoocJSONResult.ok(userVO);
}
server.port=8080
老师,能不能帮我看看ip,url哪有问题,我自己实在找不出来了,还是说ip,url没问题,问题出在其他地方,那究竟哪有问题呢?真机调试就没办法看到前端控制台信息了吗?
写回答
1回答
-
风间影月
2025-08-05
app.serverUrl 前端打印看看是啥,有没有可能没有数据。另外看一下hbuikder控制台有没有报错信息。现在的情况其实就是无法调用,大概率就是前端的问题了
00
Netty+Spring Boot仿微信-全栈开发高性能后台及客户端
SpringBoot/Netty+MUI全栈开发 同时搞定后台+ Android&iOS
1500 学习 · 693 问题
相似问题