0
私はボレーを使用してサーバーにデータを投稿しようとしていますが、SubmitボタンをクリックするとVolley.ServerErrorが表示されます。また、私のアプリケーションをデバッグすると、エラーです。Volleyを使用してデータリクエストを投稿
public class ConnectWithSpeaker extends AppCompatActivity implements
View.OnClickListener {
LinearLayout linear_layoutcontainer;
Toolbar toolbar;
String url = Constants.SUBMIT_API;
public static final String KEY_NAME = "name";
public static final String KEY_EMAIL = "email";
public static final String KEY_MOBILE = "mobile";
public static final String KEY_COMPANY = "company";
public static final String KEY_SPEAKERID = "speaker_id";
String s_id;
private EditText u_name;
private EditText u_email;
private EditText u_mobile;
private EditText u_company;
private Button submit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_connect_with_speaker);
linear_layoutcontainer = (LinearLayout) findViewById(R.id.linear_layoutcontainer);
toolbar = (Toolbar) findViewById(R.id.customtoolbar);
TextView title = (TextView) toolbar.findViewById(R.id.title);
title.setText("Connect with Speakers");
toolbar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
u_name = (EditText) findViewById(R.id.name);
u_email = (EditText) findViewById(R.id.email);
u_mobile = (EditText) findViewById(R.id.mobile);
u_company = (EditText) findViewById(R.id.compny_name);
submit = (Button) findViewById(R.id.connect);
submit.setOnClickListener(this);
s_id = getIntent().getStringExtra("speakerid");
}
private void submitdetails() {
final String name = u_name.getText().toString().trim(); //trim() remove spaces after&before string
final String email = u_email.getText().toString().trim();
final String mobile = u_mobile.getText().toString().trim();
final String company = u_company.getText().toString().trim();
final String speaker_id = s_id;
Toast.makeText(ConnectWithSpeaker.this, "submit details", Toast.LENGTH_SHORT).show();
CustomJSONObjectRequest request2 = new CustomJSONObjectRequest(Request.Method.POST, url, new
Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println("Response........"+response);
if (response.trim().equals("success")) {
Toast.makeText(getApplicationContext(), "Your request is proceed, we will update you with further updates.",
Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(ConnectWithSpeaker.this, volleyError.toString(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put(KEY_NAME, name);
params.put(KEY_EMAIL, email);
params.put(KEY_MOBILE, mobile);
params.put(KEY_COMPANY, company);
params.put(KEY_SPEAKERID, speaker_id);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(request2);
}
@Override
public void onClick(View v) {
if (v == submit) {
if (TextUtils.isEmpty(u_name.getText().toString())) {
u_name.setError("Enter Name");
u_name.requestFocus();
}
if (TextUtils.isEmpty(u_email.getText().toString())) {
u_email.setError("Enter Email");
u_email.requestFocus();
}
if ((TextUtils.isEmpty(u_mobile.getText().toString())) || (u_mobile.length() < 10 || u_mobile.length() > 15)) {
u_mobile.setError("Enter valid Mobile No");
u_mobile.requestFocus();
}
if (TextUtils.isEmpty(u_company.getText().toString())) {
u_company.setError("Enter Company Name");
u_company.requestFocus();
} else {
submitdetails();
}
}
}
これはlogcatのエラーです。
E/Volley: [1515] BasicNetwork.performRequest: Unexpected response code 400 for http://
あなたはPOSTMANを使用して、サーバー上の同じ要求を投稿しようとしている助け
と
希望にそれを呼び出しますか?サーバー側からの応答が成功しているかどうかを確認します。私はあなたのコードを通過していないが、少なくともあなたの不具合やサーバーの問題があるかどうかを確認してください。 –
これはサーバ側の問題だと思われます。代わりに一度投稿してください。http://posttestserver.com/ – Nilabja
私は郵便配達員のAPIを打ちました。 { "ステータス":false、 "というメッセージ「:」
名フィールドが必要とされて
\ nは会社名]フィールドが必要とされて
\ n個メールフィールドが必要とされる
\ n個スピーカーidフィールドが必要とされて
\ nはモバイル番号フィールド。。。。が必要です。
\ n " " と私はすべての値を入れました。しかし、デバッガは私にそれぞれの値を表示するので混乱しています私は私のアプリを実行すると、printresponseをスキップするか、Errorステートメントで直接ジャンプします。 –