#java #php #android #android-volley
Вопрос:
Здравствуйте, я пытаюсь отправить параметр с моим запросом на залп, а затем получить файл json для использования с моим RecyclerView. Я протестировал это без параметров и получаю ожидаемый результат, но с параметром я ничего не получаю обратно.
private void parseJSON() {
String url = "http://10.0.2.2/getThesis.php"; //URL OF THE PHP FILE USED
Map<String, String> params = new HashMap();
params.put("user", email);
JSONObject parameters = new JSONObject(params);
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, parameters,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("assigned_thesis"); //THE NAME OF THE JSON FILE
for(int i = 0; i < jsonArray.length(); i ) {
JSONObject thesis = jsonArray.getJSONObject(i);
String title = thesis.getString("thesis_title"); //THE NAME OF THE COLUMN IN THE JSON FILE
String fullName = thesis.getString("full_name");
mExampleList.add(new ExampleItem(title, fullName));
}
mExampleAdapter = new ExampleAdapter(PendingChoiceThesis.this, mExampleList); //USAGE OF THE CUSTOM ADAPTER, CHANGE CONTEXT TO BE THE SAME AS THE JAVA CLASS
mRecyclerView.setAdapter(mExampleAdapter);
mExampleAdapter.setOnItemClickListener(PendingChoiceThesis.this); //CHANGE CONTEXT TO BE THE SAME AS THE JAVA CLASS
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
mRequestQueue.add(request);
}
Я пытаюсь выяснить, есть ли в моем коде для запроса на залп ошибка или ошибка в другом месте моего проекта.
(для справки, именно здесь я хочу использовать параметр в моем php-файле)
$email = $_POST['user'];
$dep_query = mysqli_query($con, "SELECT department_ID FROM user_accounts NATURAL JOIN users WHERE email = '$email'");
$result = mysqli_fetch_assoc($dep_query);
Ответ №1:
Исправлена моя проблема, добавив это в ответ на ошибку
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json; charset=utf-8");
return headers;
}
А также изменил свой php на этот
$inputJSON = file_get_contents('php://input');
$input= json_decode( $inputJSON );
$var = $input->user; //user is from the parameters jsonobject