使用mongodb nodejs failuer向服务器发送的Android http发布请求

时间:2018-12-15 10:26:23

标签: android mongodb httprequest

我正在开发一个用于登录和注册的简单Android应用程序,ManagerNetwork.java文件为:

private static final String BASE_URL = "http://192.168.101.3:3000/";

private static AsyncHttpClient client = new AsyncHttpClient();

public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
    client.get(getAbsoluteUrl(url), params, responseHandler);
}

public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
    client.post(getAbsoluteUrl(url), params, responseHandler);
}

private static String getAbsoluteUrl(String relativeUrl) {
    return BASE_URL + relativeUrl;
}

Java文件的登录为:

private EditText Email, Password;
private Button signin, signup;
private ProgressDialog pDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sign_in);
    Email = findViewById(R.id.textView);
    Password = findViewById(R.id.textView2);
    signin = findViewById(R.id.button);
    signup = findViewById(R.id.button2);

    signin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            RequestParams params = new RequestParams();
            params.add("Email",Email.getText().toString());
            params.add("Password",Password.getText().toString());
            ManagerNetwork.post("user/login", params, new JsonHttpResponseHandler(){

                @Override
                public void onStart() {
                    pDialog = new ProgressDialog(SignIn.this);
                    pDialog.setMessage("Signing up user");
                    pDialog.setIndeterminate(false);
                    pDialog.setCancelable(false);
                    pDialog.show();
                }

                @Override
                public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                    try {
                        JSONObject jsonObject = response.getJSONObject("message");
                        String message = jsonObject.getString("message");
                        Toast.makeText(SignIn.this,message,Toast.LENGTH_SHORT).show();

                        Intent i1= new Intent(SignIn.this,Landing.class);
                        startActivity(i1);
                        pDialog.dismiss();
                        finish();
                    }
                    catch (JSONException e){

                    }
                }

                @Override
                public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {

                    Log.d("action here",errorResponse.toString());
                    pDialog.dismiss();
                }

                @Override
                public void onFinish() {
                    super.onFinish();
                    pDialog.dismiss();
                }
            });
        }
    });

    signup.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i2= new Intent(SignIn.this,SignUp.class);
            startActivity(i2);
        }
    });
}

发布请求将直接转到onfailure方法,并且日志中不会显示其他错误。我已经在服务器端尝试了POST请求,它可以正常工作,因此问题出在客户端。任何帮助/建议都表示赞赏

0 个答案:

没有答案
相关问题