这是我使用loopj用于异步Http请求的代码。
AsyncHttpClient loopjClient = new AsyncHttpClient();
PersistentCookieStore loopjCookieStore = new PersistentCookieStore(this);
loopjClient.setCookieStore(loopjCookieStore);
RequestParams loopjParams = new RequestParams();
loopjParams.put("username", username);
loopjParams.put("email", emailID);
loopjParams.put("password", password);
Log.d(TAG, "RRRRRRlll");
loopjClient.post("http://www.example.com/", loopjParams, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int k,String response) {
super.onSuccess(k, response);
Log.d(TAG, "RRRRRR "+ response );
}
});
我的服务器响应字符串是下面的没有HTML标签的
{"AUTHENTICATION":{"SUCCESS":false,"USERNAME":"unregistered","USERID":0},"ALERTBOX":{"SHOW":true,"MESSAGE":"Message : Username or email ID already registered. Please choose a different one."}}
但是loopj
没有在onSuccess()
中打印上述字符串。
你能告诉我如何获得字符串或我必须回到默认的Android http库吗?
提前感谢。
编辑
而不是'示例'(我的网站),如果我用'facebook'代替它,我只是得到以下字符串作为响应与200响应代码<?xml version="1.0" encoding="utf-8"?>
由于身份验证的结果失败,我想知道您的服务器返回的状态码是否不是200。你可以重写onFailure方法来处理这种情况。
@Override
public void onFailure(Throwable e) {
Log.d(TAG, e.toString());
}
编辑
另一种猜测是,您是否在Manifest.xml中添加了以下行?
<uses-permission android:name="android.permission.INTERNET" />
再次编辑
我看到了你的编辑,似乎你有一个错误的LogCat @shailendra-rajawat在评论中提到,因为LogCat只打印第一行。试试Toast:
@Override
public void onSuccess(int k, String response) {
Toast.makeText(getBaseContext(), response, 1).show();
}
我找到了这篇配置你的LogCat的文章,也许你可以试一试。(我是5000,供参考)