我正在尝试将json字符串从我的Android应用程序发送到我的php服务器。下面是我的mobiledb_control.php和httpconnect.java
中的完整代码Log.v(" HTTPSENDER","工作");运行,我没有错误。 但是我的error_log(" in");没有跑。
如何将通过android发送的JSON显示到我的error_log()?
HttpConnect.java:
public class HttpConnect {
public HttpConnect(){
}
public void sendData(String jsonObject){
try{
URL url = new URL("http://www.alextanti.net/PHPDashboard/Backend/mobiledb_control.php");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
BufferedWriter output = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream(),"UTF-8"));
output.write("json="+jsonObject);
output.flush();
output.close();
Log.v("HTTPSENDER","WORKED");
}catch(Exception e){
e.printStackTrace();
}
}
}
mobiledb_control.php:
<?php
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set("error_log", "../Logs/error.log");
error_reporting(E_ALL);
if(!empty($_POST['json'])){
echo(var_dump($_POST['json']));
error_log($_POST['json']);
}
$headers = apache_request_headers();
?>
答案 0 :(得分:0)
在PHP代码中尝试这个
并启用此类错误报告
// Report all PHP errors (see changelog)
error_reporting(E_ALL);
和
print_r($_POST);
了解您从帖子中获得的内容。
答案 1 :(得分:0)
使用php的编码和解码功能来制作和解析json。
$request=json_decode($_POST['json']); // it gives the Array
foreach($request as $values){
echo($values['your_value1'])
echo($values['your_value2'])
}
答案 2 :(得分:0)
在设计服务器 - 客户端通信时,必须确保客户端和服务器可以相互通信。考虑到这一点,您可以通过在try block中的代码中添加它来提供服务器响应代码:
{{ pagination.info }}
{{ pagination.links }}
{% for e in entries_sorted %}
<div class="row">
<div class="col-md-offset-3 col-md-6 feed_item">
<h1><a href="{{ e.link }}">{{ e.title }}</a></h1>
<h5>Published on: {{ e.published }}</h5>
{% for content in e.content %}
{{ content.value|safe }}
</div>
</div>
{% else %}
<p>{{ e.summary_detail.value|safe }}</p>
</div>
</div>
{% endfor %}
{% endfor %}
{{ pagination.links }}
它将分别返回200和401。如果没有代码,则返回-1 从响应中辨别出来(即,响应不是有效的HTTP)。
干杯!
答案 3 :(得分:0)
似乎修复了它,但我不知道如何
PHP文件:
<?php
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set("error_log", "../Logs/location.log");
error_reporting(E_ALL);
if(!empty($_POST['json'])){
echo(var_dump($_POST['json']));
error_log($_POST['json']);
}
?>
JAVA文件:
public class HttpConnect {
public HttpConnect(){
}
public void sendData(String jsonObject){
try{
URL url = new URL("http://www.alextanti.net/PHPDashboard/Backend/mobiledb_control.php");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
BufferedWriter output = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream(),"UTF-8"));
output.write("json="+jsonObject);
output.flush();
output.close();
Log.v("HTTPSENDER","WORKED");
Log.v("HTTPSENDER",""+conn.getResponseCode());
}catch(Exception e){
e.printStackTrace();
}
}
}