我试图在我的laravel网站上使用volly在Android应用程序中获取jsonArray,但是我什么也没得到,甚至错误列表方法都没有被解雇。 我知道返回的laravel响应有问题,但我无法理解。请一些人访问网址并指出遗漏的内容。如果我用第二个url交换请求,我在调试时得到正确的jsonArray。这两个都是url
//this returns nothing in Volly .
public static String urlPath = "http://staging.megabix.com/api/v1/terms/1/subTerms"
//This one works fine
public static String urlPath = "http://shakeelnawaz.com/soccerquiz/process.php?action=show_category";
以下是我的volly请求代码
public void JSON_HTTP_CALL() {
RequestOfJSonArray = new JsonArrayRequest(HTTP_JSON_URL,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d("shahid", "onResponse: "+response);
ParseJSonResponse(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("shahid", "Error getting Response: ");
}
});
在我的Laravel网站上,我正在使用此代码。
public function getSubTerms(Term $term){
$subTerms= $term->subTerms;
$a=$subTerms;
//This does not work in volly
return $a;
//Nor this worked
return response()->json($a,200);
如果有人能在这方面帮助我,我将非常感激。
答案 0 :(得分:0)
你需要在android中获取数据后返回JsonEncoded String,只需转换Array Object。
答案 1 :(得分:0)
以下是调用的方式是错误而不是php错误我会给代码尝试然后让我知道刚才我尝试了朋友。
public void JSON_HTTP_CALL() {
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
String urlPath = "http://staging.megabix.com/api/v1/terms/1/subTerms";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, urlPath,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Display the first 500 characters of the response string.
Toast.makeText(MainActivity.this, "That work!", Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, "That didn't work!", Toast.LENGTH_SHORT).show();
}
});
// Add the request to the RequestQueue.
queue.add(stringRequest);
}
首先需要创建RequestQueue对象谢谢尝试让我知道。
Manifest文件中的一件事确实添加了这一行确保
<uses-permission android:name="android.permission.INTERNET" />