Android的loopj响应字符串为空



这是我使用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,供参考)

相关内容

  • 没有找到相关文章

最新更新