質問: JSON.stringify(sendData); //console.log("what is json_obj"+json_obj); //ページ遷移 cordova.InAppBrowser.open( 'http://192.157.13.5/testajax.php?data=' + encodeURIComponent( json_obj ),'clearcache=yes','clearsessioncache=yes' );//ローカルサーバーのtestajax.phpにGETで配列の情報を付けて飛ぶ ``` 【ローカルサーバーのtestajax.php】 GETで受け取ったURIからデータを取得し配列に入れる処理。(渡したい値を再設定する処理) 「decodeURIComponent」してから「JSON.parse」で配列にしています。 ``` ``` 【追記2】 XAMPPを使った環境の場合、GETメソッドで大量にデータを送信するとエラーが出て送信できないことがあります。 これは「LimitRequestLine」をいじることで回避できます。 LimitRequestLineについて 試しに「LimitRequestLine」の値を100000にしてみましたが、問題なく動作しました。 (あまり値が大きくなりすぎるとセキュリティ的によくないと思いますので、許容できる範囲がいいのではないかと思います。)
回答: Cordova は触った事も無いですがパラメータは `ref.executeScript` で後から渡せるようです。 【Cordova 子Windowにパラメータを渡す - 調べたことメモ】 【Monacaドキュメント | Monaca】 > > ref.executeScript(details, callback); > > > 【Inappbrowser - Apache Cordova】 PHP側はPOSTで受け取るわけではないので構造を考え直す(JavaScript主体でデータのやり取りをすることになる)必要がありますが、とりあえず現在の状況でエラーが出ているのを解消するには下記のように記述することになると思われます。 ``` if ( isset( $_POST['test'] ) ) { $data = $_POST[ 'test' ]; echo htmlspecialchars( $data, ENT_QUOTES, 'UTF-8' ); } ``` **追記:** ``` $.ajax({ type: "POST", url: 'http://192.157.13.5/testajax.php', data: { 'test': 2 }, success: function(j_data){ console.log("Ajax_success!!");//成功していたらコンソールに文字列を表示する } }); // ↑ これと ↓ これは違うページが返ってきますよ。上はPOSTを受け取った結果が、下はPOSTを受け取らなかったページが帰ってきます。 cordova.InAppBrowser.open('http://192.157.13.5/testajax.php'); ```