这是我用于使用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库?
提前致谢。
修改
而不是'example'(我的网站)如果我用'facebook'替换它我只是得到以下字符串作为响应200响应代码<?xml version="1.0" encoding="utf-8"?>
答案 0 :(得分:1)
由于AUTHENTICATION的结果失败,我想知道您的服务器返回的状态代码是否不是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();
}
我找到this post来配置你的LogCat,也许你可以尝试一下。 (我的是5000 FYI)