我想使用POST方法发送数据并获得JSONArray数组,但我没有从服务器获取数据,当我测试我的PHP文件与特定值然后它没关系,但是当我使用POST方法发送密钥,然后不给任何数据。获取没有数据发送使用JSONArray的POST请求使用volley
这里是我的JSONArray请求:
final JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.POST, jsonURL, (String) null,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
int count = 0;
while (count < response.length()){
try {
JSONObject jsonObject = response.getJSONObject(count);
DataProvider dataProvider = new DataProvider(jsonObject.getString("Name"),
jsonObject.getString("Url"),
arrayList.add(dataProvider);
count++;
} catch (JSONException e) {
Toast.makeText(context,"Error",Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
CarFragment.adapter.notifyDataSetChanged();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}
){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> param = new HashMap<String,String>();
param.put("id","01675904620");
return param;
}
};
Singletone.getSingletone(context).addToRequest(jsonArrayRequest);
,这里是我的PHP代码:
<?php
$user_id = $_POST["id"];
$db_name = "andr";
$user_name = "user";
$password = "12345";
$server = "localhost";
$con = mysqli_connect($server,$user_name,$password,$db_name);
$result = mysqli_query($con, "SELECT * FROM user WHERE user_id = ".$user_id.";") or die("Error: " . mysqli_error($con));
$response = array();
while($row = mysqli_fetch_array($result))
{
array_push($response, array("Name"=>$row["name"],"Url"=>$row["image_url"]));
}
echo json_encode($response);
?>
'回报super.getParams();'seriosuly? – Selvin
塞尔文是错误的后。我在没有获取数据时尝试过。感谢您的更正。但是你知道我的实际错误在哪里吗? –