我已经简化为最简单的形式,但仍然在跌跌撞撞……我花了 30 多个小时进行研究和测试。根据所有从未显示超过整个圆 15° 的帖子,这应该很容易。
我想要:
- 将查询参数(以 JSON 格式)从 Android 手机发送到 WAMP 服务器......这可能与本地 SQLite 表的完整转储一样多,因此查询字符串不会削减它。
- 让 WAMP 服务器读取 JSON 数据,制定 SQL 查询并提交到 mySQL 数据库
- 将响应打包为 JSON 数据(从简单的“OK”到完整的表转储)
- 将响应包返回给安卓手机
这已经是一个功能齐全的WAMP应用了,我想集成Android访问。出于这个原因,我真的想避免使用 AJAX,因为我想保持与现有内容的一致性。
我已将其简化为最简单的循环并且遇到了障碍。我正在使用 send.php 将一些 JSON 数据发布到 receive.php。此时,我只需要receive.php读取数据并将其发送回(稍作修改)到send.php
send.php 正在正确读取从 receive.php 发送的库存 JSON。我只是无法得到任何生命迹象,receive.php 甚至可以识别发送给它的 JSON。
请不要将我引向 cURL ......从我发现的关于 Android 和 JSON 的所有内容来看,cURL 是一个切线,它将让我回到无功能状态。
阿帕奇 2.2.22、PHP 5.4.3
就像我说的,我已经把它简化为最简单的形式来展示一个完整的圆圈......
发送.php:
<?php
$url = "http://192.168.0.102:808/networks/json/receive.php";
$data = array(
'param1' => '12345',
'param2' => 'fghij'
);
$json_data = json_encode($data);
$options = array(
'http' => array(
'method' => 'POST',
'content' => $json_data,
'header'=> "Content-Type: application/json\r\n" .
"Accept: application/json\r\n" .
'Content-Length: ' . strlen($json_data) . "\r\n"
)
);
$context = stream_context_create( $options );
$result = file_get_contents( $url, false, $context );
$response = json_decode( $result , true);
echo '[' . $response['param1'] . "]\n<br>";
//THIS WORKS! send.php displays "Initialized"
?>
接收.php
<?php
$newparam = 'Initialized';
//HERE I NEED TO read the JSON data and do something
$data = array(
'param1' => $newparam,
'param2' => 'pqrst'
);
header('Content-type: application/json');
echo json_encode($data);
?>