我正在尝试将我的Android应用程序连接到我的Laravel API,并且收到以下错误。
Value string(2) of type java.lang.String cannot be converted to JSONObject
运行我的截击请求后。请求进入低谷,但我无法检查请求的状态,因为它总是返回错误。
我相信这是因为我在Laravel应用程序中返回了一个JSON数组。
这是我Laravel对成功的应用响应
return Response::json(array(
'status' => 'ok',
'message' => 'success',
));
这是我在Android上的Volley请求
RequestQueue queue = Volley.newRequestQueue(this);
Log.d("sendOrderToServer", "called");
Log.d("json obj", order.toString());
JsonObjectRequest jsor = new JsonObjectRequest(MainActivity.ADD_ORDER, order, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.d("response", response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("error34", error.toString());
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json");
headers.put("charset", "utf-8");
return headers;
}
};
queue.add(jsor);
如果没有手动解析字符串并在Android Volley库中发出字符串请求,我怎么能正确地做到这一点?
答案 0 :(得分:1)
尝试使用&#34; (双引号)而不是#39; (单引号)
JSON&#34;不喜欢&#34;单引号,双引号是标准的:
function ajaxfunction(parent)
{
$.ajax({
type: 'GET',
url: 'Connection.php',
data: {method:'getFaculties', value:parent}
success: function(data) {
$("#selFaculty").html(data);
}
});
}
答案 1 :(得分:0)
我的事件'__construct中有一个var_dump用于调试目的,我忘了它。