赞
踩
45 回复
贴代码用 "插入代码" 按钮, 重新贴一下吧, 还有后台日志也要贴一下
@At
@Ok("json")
public Object login(@Param("username") String username,
@Param("password") String password, Ioc ioc, HttpServletRequest req) {
NutMap re = new NutMap();
re.put("message", "接收不到用户名或者密码" + username + "==" + password);
if (username == null || password == null) {
re.put("message", "接收不到用户名或者密码" + username + "==" + password);
re.put("ok", false);
return re;
}
}
$.ajax({
type : "post",
url : "${ctx}/admin/login",
data : {
"username" : username,
"password" : pass
},
dataType : "json",
success : function(data) {
if (data.ok) {
window.location.href = "${ctx}/admin/index";
dispose();
} else {
alert(data.message);
alert("用户名或者密码错误");
}
},
error : function(e) {
}
});
$.ajax({
type : "post",
url : "${ctx}/admin/login",
data : {
"username" : username,
"password" : pass
},
dataType : "json",
success : function(data) {
if (data.ok) {
window.location.href = "${ctx}/admin/index";
dispose();
} else {
alert(data.message);
alert("用户名或者密码错误");
}
},
error : function(e) {
}
});
我本地环境是可以运行的,但是在服务器上面就获取不到参数。
DEBUG - Found mapping for [POST] path=/admin/login : AdminModule.login(AdminModule.java:71)
DEBUG - Get 'adminModule'
DEBUG - SELECT * FROM t_user WHERE name=? AND passwd=? LIMIT 0, 1
| 1 | 2 |
|-------|----------------------------------|
| admin | E10ADC3949BA59ABBE56E057F20F883E |
For example:> "SELECT * FROM t_user WHERE name='admin' AND passwd='E10ADC3949BA59ABBE56E057F20F883E' LIMIT 0, 1 "
看来服务器已经响应了,chrome的开发者工具看看服务器响应的内容
{message: "接收不到用户名或者密码null==null", ok: false}
message
:
"接收不到用户名或者密码null==null"
ok
:
false
接收不到用户名或者密码null==null
我前台填写了参数上传到了服务器,还是会提示 这个值为NULL
chrome看看浏览器发送的内容
Request URL:http://www.scpzlc.com/admin/login
Request Method:POST
Status Code:200 OK
Remote Address:43.254.217.32:80
Referrer Policy:no-referrer-when-downgrade
Response Headers
view source
Cache-Control:no-cache
Connection:keep-alive
Content-Type:application/json;charset=UTF-8
Date:Tue, 14 Nov 2017 08:59:05 GMT
Server:kangle/3.4.8
Transfer-Encoding:chunked
X-Powered-By:nutz/1.r.60
Request Headers
view source
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.9
Cache-Control:no-cache
Connection:keep-alive
Content-Length:30
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Cookie:JSESSIONID=37D60C1CC35604810C5020B5C4839D1F
Host:www.scpzlc.com
Origin:http://www.scpzlc.com
Pragma:no-cache
Referer:http://www.scpzlc.com/admin
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36
X-Requested-With:XMLHttpRequest
Form Data
view source
view URL encoded
username:admin
password:123456
那么神奇, req.getParamter("username") 看看出啥
也是NULL,我在本地都可以打印出来,我上传到服务器就获取不到参数了
import org.nutz.mvc.annotation.Param;
我使用的是这个包
把 Ioc ioc, HttpServletRequest req 这两个参数去掉 就接收前面两个参数 试试可不可以
还是不行,这个太神奇了。我在本地都可以使用,部署到服务器上面都用不了
一样是req.getParamter
服务器上什么版本的tomcat?
但是这个接口用get 请求就可以获取到参数
直接tomcat对外吗? 是不是apache/nginx转发的?
把req的header打印一下看看输出啥
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.9
Cache-Control:no-cache
Connection:keep-alive
Content-Length:30
Content-Type:application/json; charset=UTF-8
Cookie:JSESSIONID=3CD6132CFDAF2E253CE1EEDDDE1281B0
Host:www.scpzlc.com
Origin:http://www.scpzlc.com
Pragma:no-cache
Referer:http://www.scpzlc.com/admin
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36
X-Requested-With:XMLHttpRequest
Content-Type:application/json; charset=UTF-8
变了??
加上去就不一样了,不能这样改的,除非你前端也发json,然后@AdaptorBy(type=JsonAdaptor.class)
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.9
Cache-Control:no-cache
Connection:keep-alive
Content-Length:30
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Cookie:JSESSIONID=3CD6132CFDAF2E253CE1EEDDDE1281B0
Host:www.scpzlc.com
Origin:http://www.scpzlc.com
Pragma:no-cache
Referer:http://www.scpzlc.com/admin
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36
X-Requested-With:XMLHttpRequest
我改回去了
难道是这虚拟主机有什么防火墙???
这样,你在web.xml里面再配一个Filter, 放在NutFilter之前, 里面调用req.getParamter看看出啥
nutz
org.nutz.mvc.NutFilter
modules
com.scpz.MainModule
exclusions
/rs/*,/druid/*
public class AbcFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
System.out.println(">?>>>>>>>>>>"+request.getParameter("username"));
System.out.println(">?>>>>>>>>>>"+request.getParameter("password"));
chain.doFilter(request, response);
}
}
abc
org.yyy.AbcFilter
abc
/*
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。