私は最も単純な形に縮小しましたが、まだつまずいています...私は30時間以上かけて調査とテストを行いました。円全体の 15° を超えることは決してないすべての投稿によると、これは非常に簡単なはずです。
したい:
- Android Phone から WAMP サーバーに (JSON で) クエリ パラメーターを送信します...これは、ローカルの SQLite テーブルの完全なダンプと同じくらいになる可能性があるため、クエリ文字列ではうまくいきません。
- WAMP サーバーに JSON データを読み取らせ、SQL クエリを作成し、mySQL データベースに送信します。
- 応答を JSON データとしてパッケージ化します (単純な「OK」から完全なテーブル ダンプまで)
- 応答パッケージを Android フォンに返す
これはすでに完全に機能する WAMP アプリケーションであり、Android アクセスを統合したいと考えています。このため、既にあるものとの一貫性を維持したいので、AJAX は避けたいと思っています。
私はこれを最も単純なループに減らしましたが、問題が発生しています。send.php を使用して、JSON データを receive.php に投稿しています。この時点で必要なのは、データを読み取って (少し変更して) send.php に送り返すための receive.php だけです。
send.php は receive.php から送信されたストック JSON を適切に読み取ります。receive.php が送信された JSON を認識することさえできません。
私をcURLに誘導しないでください... Android と JSON に関して私が見つけたすべてのことから、cURL は機能しない状態に完全に戻る接線です。
アパッチ 2.2.22、PHP 5.4.3
私が言ったように、私は完全な円を示すためにこれを最も単純な形に減らしました...
send.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"
?>
receive.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);
?>