![](/img/trans.png)
[英]Send JSON Object in POST request from Android Volley receive java restful webservices
[英]Send and receive from a php page with volley
我打算將一個參數發送到一個php頁面,並在具體處理后以json格式執行一系列參數,我得到相同的頁面。 我寫了以下代碼:
//Showing the progress dialog
final ProgressDialog loading = ProgressDialog.show(this,"در حال ارتباط با سرور","لطفا صبر کنید",false,false);
final JsonArrayRequest jsonArrReq = new JsonArrayRequest(GetFavTickets_url,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray jsonArray) {
// Log.e("LOG", jsonArray.toString());
for (int i = 0 ; i < jsonArray.length() ; i++)
{
try {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Log.e("LOG", "object : " + jsonObject.getString("name"));
name.add(i,jsonObject.getString("name"));
family.add(i,jsonObject.getString("family"));
} catch (JSONException e) {
e.printStackTrace();
}
}
loading.dismiss();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
//Dismissing the progress dialog
loading.dismiss();
//Showing toast
Toast.makeText(Favorite.this, volleyError.getMessage().toString(), Toast.LENGTH_LONG).show();
Log.e("Volley",volleyError.getMessage().toString());
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
//Converting Bitmap to String
//Creating parameters
Map<String,String> params = new Hashtable<String, String>();
//Adding parameters
params.put("id", id);
//returning parameters
return params;
}
};
//Creating a Request Queue
RequestQueue requestQueue = Volley.newRequestQueue(this);
//Adding request to the queue
requestQueue.add(jsonArrReq);
}
而Volley給出了以下信息:
org.json.JSONException:類型java.lang.String的值錯誤無法轉換為
JSONArray
我的PHP代碼:
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
@$national_code = $_POST['national_code'];
$Tickets = array(null);
$result = mysqli_query($con,"SELECT * FROM favorites WHERE user_national_code='$national_code'");
$count=mysqli_num_rows($result);
while($row = mysqli_fetch_array($result))
{
$Tickets[] = $row['ticket_id'];
}
$length = count($Tickets)-1;
for ($i=1; $i<=$length; $i++){
$result = mysqli_query($con,"SELECT * FROM `ticket` WHERE id='$Tickets[i]'");
while($row = mysqli_fetch_array($result)){
$output[]=$row;
}
}
}else{
echo "Error";
}
?>
嘗試替換它
final JsonArrayRequest jsonArrReq = new JsonArrayRequest(GetFavTickets_url, new Response.Listener()
同
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.