Jfinal中使用post的数据传递方式

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lan5572/article/details/51532847

因为本人是做移动APP开发的,第一次用jfinal开发后台管理,弄了许久才弄明白,jfinal在post中传递数据时候获取数据。之前看官方文档使用的getPara()这种形式去获取URL的参数,但是这种获取是get的时候发送的数据,还有都就通过From表单形式去提交。但是我的页面不是通过表单提交方式。所以捣鼓了好久。

后台:


public void login() {
int type = 0;
String nickname= null;
try {
QueryRequest request = getRequestObject(QueryRequest.class);
//校验过程省略

//...................

//校验通过

type = 1; 
} catch (Exception e) {
e.printStackTrace();
}

//校验后,返回数据,重新渲染界面
if(type  == 1){

setAttr("type", 1);
setAttr("msg", "登陆成功");
renderJson();
}else{

setAttr("type", 0);
setAttr("msg", "登陆失败");

}

renderJson();

}


/**
* 取Request中的数据对象

* @param valueType
* @return    返回fastjson解析的数据
* @throws Exception
*/
protected <T> T getRequestObject(Class<T> valueType) throws Exception {
StringBuilder json = new StringBuilder();
BufferedReader reader = this.getRequest().getReader();
String line = null;
while ((line = reader.readLine()) != null) {
json.append(line);
}
reader.close();

return JSONObject.parseObject(json.toString(), valueType);
}


前端:


<script>
$(function () {       
$('#login').click(function(){
var name = $("#username").val();
         var pwd = $("#password").val();
         do_ajaxSubmit({"username":'name',"password":'pwd'}, "../login", "../user");
      
});
});


/**
 * ajax提交
 * @param param
 * @param url
 * @param returl
 */
function do_ajaxSubmit(param,url,returl){ 
    var eurl = encodeURI(url);
    $.ajax({type:"POST", url:eurl, data:param, dataType:"json", error:function () {
        alert("系统错误,请稍后重试");
    }, success:function (data) {
        if (data.type == 1) {
            //art.dialog.alert(data.msg);
            returl == null ? window.location.reload() : window.location.href=returl;
        } else {
            alert(data.msg);
        }
    }});
}
</script>

展开阅读全文

没有更多推荐了,返回首页