我正在使用Android应用程序。因此,我正在创建一个登录/注册Aktivity。我正在使用JsonRequest(Volley)来获取存储在SQL数据库中的信息。此外,我编写了一些php文件(用于测试目的)以创建一个JSONObject作为服务器响应。 一切似乎正常,但仅适用于某些虚拟主机。我的意思是,相同的Android Studio代码和相同的php代码一次可以正常工作,而在其他情况下,输出错误。
通过FileManagers上传的我的测试php代码
<?php
$myObj=new stdClass();
$myObj->name = "Test";
$myJSON = json_encode($myObj);
echo $myJSON;
?>
我的Java代码
RequestQueue requestQueue= Volley.newRequestQueue(this);
JsonObjectRequest jsonObjectRequest=new JsonObjectRequest(Request.Method.GET,url,null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
String success=response.getString("name");
Toast.makeText(getApplicationContext(),success, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "ErrorCatch"+e.toString(), Toast.LENGTH_LONG).show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "ErrorResponse"+error.toString(), Toast.LENGTH_LONG).show();
}
});
requestQueue.add(jsonObjectRequest);
使用一台Webhost,我得到了正确的Toast,包括从服务器存储的信息。使用另一个Web主机时,出现一个错误:“ Java.lang.String无法转换为JSONObject”,由于我正在执行相同的操作,因此发现它很奇怪。
预先感谢您的帮助。