您的位置:首页 > Web前端 > JavaScript

xUtils3.0发送post请求如何传json的问题

2016-03-14 17:19 816 查看
今天在写项目的时候需要发起一个post请求,项目用了xutils3.0作为网络请求框架,post请求后台需要传递一条json字符串作为参数

根据以前的经验只要写

RequestParams requestParams=new RequestParams();

requestParams.addBodyParameter("json",paramJSON);

就可以实现了(额,什么鬼?第一次写博客复制一下代码这里竟然变成黑色背景了,算了不管了)

然而今天是第一次用3.0发现这样写不行,度了好多写法也没有什么卵用,最后各种实验发现如下方法:

RequestParams requestParams = new RequestParams("http://www.xxx.com");
requestParams.setAsJsonContent(true);
requestParams.setBodyContent("{\"username\":\"test\",\"password\":\"test\"}");
经测试可以,记录一下为遇到相同问题的小伙伴们提供参考

额额,有几位朋友私信我,因为大周末没有看博客,现在统一贴出完整步骤,实在不好意思啊~~~~~

xUtils3.0发送post请求传json参数完整步骤:

JSONObject js_request = new JSONObject();//服务器需要传参的json对象
js_request.put("key", value);//根据实际需求添加相应键值对
js_request.put("key1", value1);
js_request.put("key2", value2);

RequestParams params = new RequestParams("http://www.baidu.com");
params.setAsJsonContent(true);
params.setBodyContent(js_request.toString());

x.http().post(params, new Callback.CacheCallback<String>() {//发起传参为json的post请求,
// Callback.CacheCallback<String>的泛型为后台返回数据的类型,
// 根据实际需求更改
@Override
public boolean onCache(String result) {
return false;
}

@Override
public void onSuccess(String result) {

//此处请求成功后的逻辑

}

@Override
public void onError(Throwable ex, boolean isOnCallback) {

}

@Override
public void onCancelled(CancelledException cex) {

}

@Override
public void onFinished() {

}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: