NutzCN Logo
问答 ajax 进行post,nutz后台获取不到数据?
发布于 3032天前 作者 kmlixh 3157 次浏览 复制 上一个帖子 下一个帖子
标签: mvc
$.post(this.server + "api/login", 
			{
			usr : usrs,
			pwd : pwds
			}, 
			function(data, status) {
				var jsonObj = JSON.parse(data);
				if (status == success && jsonsObj.code == 0) {// 登录成功
					this.user = new User(jsonObj.dataMap);
					this.writeUserInfo();
					this.showTips("登录成功!");
				}else{
					this.showTips("登录失败!");
				}
	});

我写的 post代码如上,但是后台做过滤的时候使用request.getParameter(name)取不到值,并且

 @At("/api/login")
    @Ok("json")
    @POST
    @Filters(@By(type = InputFilter.class, args = {"usr", "pwd"}))
    public Object login(@Param("usr") String usr, @Param("pwd") String pwd) {
        return new UserBusiness().login(usr,pwd);
    }

代码中也取不到对应的param

9 回复

页面上先确定是否取到值 console.log(usrs);console.log(pwds);

@kerbores 能取到指,但是提交的时候后台什么都取不到

看chrome发送的请求, 包括内容和header

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:253335
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryR7kRNodXGeskawuL
DNT:1
Host:localhost:8080
Origin:null
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
Request Payload
------WebKitFormBoundaryR7kRNodXGeskawuL
Content-Disposition: form-data; name="user_id"

sdfasdf
------WebKitFormBoundaryR7kRNodXGeskawuL
Content-Disposition: form-data; name="token"

sdfasdfasdf
------WebKitFormBoundaryR7kRNodXGeskawuL
Content-Disposition: form-data; name="images"; filename="56193.psd"
Content-Type: application/octet-stream

------WebKitFormBoundaryR7kRNodXGeskawuL
Content-Disposition: form-data; name="images"; filename="dsfasdfsadfadsfsdafadsfadsfasdfdasfsdfdasfafasdfsdfdsf.psd"
Content-Type: application/octet-stream

------WebKitFormBoundaryR7kRNodXGeskawuL--

没看到
usr
pwd
这两个参数啊

初步判断触发此 ajax 的按钮类型是 submit 的,默认走的是表单的 submit

楼上正解, 根本不是post,而是表单文件上传了

叨扰了大家,这个问题其实根本没有问题,数据nutz其实已经完全解决了。多谢大家的耐心解答。无论是ajax post还是表单submit,都是能够正确取到值的。只不过我自己二逼的写了个过滤器,然后里面神奇的使用了request.getParameter(),导致取不到值。

添加回复
请先登陆
回到顶部