好的,几天前,我用 Java 编写了一段代码,将 post 请求发送到 PHP 文件,以便将一些数据存储在 MySQL 数据库中并接收简单的 json_encode() 字符串,例如来自 PHP 的“error_101”响应,它工作正好。昨天我重新安装了我的 XAMPP,因为我在 openssl PHP 扩展方面遇到了一些问题,现在我的 json_encode() 响应都没有返回值。我检查了 phpinfo() ,它说启用了 json 支持。提到从 JAVA 发送到 PHP 的值也是 JSON 对象,并且 json_decode() 工作得很好!
这是我将响应从 PHP 发送到 JAVA 的代码:
<?php
header('Content-type: application/json');
echo json_encode("error_101");
?>
这是在 JAVA 中获取响应的代码
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 10000);
HttpConnectionParams.setSoTimeout(httpParams, 10000);
HttpClient client = new DefaultHttpClient(httpParams);
String url = "http://192.168.254.19/android/register.php";
HttpPost request = new HttpPost(url);
request.setEntity(new ByteArrayEntity(json.toString().getBytes("UTF8")));
request.setHeader("json", json.toString());
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
String result = null;
if (entity != null) {
InputStream instream = entity.getContent();
InputStreamReader is_reader = new InputStreamReader(instream);
BufferedReader br = new BufferedReader(is_reader);
result = br.readLine();
Log.i("Read from server", result);
Toast.makeText(this, result, Toast.LENGTH_LONG).show();
}
我得到的回应是“ <br />
”