質問するログイン新規登録

質問編集履歴

5

情報追加

2016/11/20 16:51

投稿

t33
t33

スコア33

title CHANGED
File without changes
body CHANGED
@@ -107,4 +107,6 @@
107
107
  【追記2】
108
108
  XAMPPを使った環境の場合、GETメソッドで大量にデータを送信するとエラーが出て送信できないことがあります。
109
109
  これは「LimitRequestLine」をいじることで回避できます。
110
- [LimitRequestLineについて](http://www.webmagazine.kakisiti.co.jp/?p=380)
110
+ [LimitRequestLineについて](http://www.webmagazine.kakisiti.co.jp/?p=380)
111
+ 試しに「LimitRequestLine」の値を100000にしてみましたが、問題なく動作しました。
112
+ (あまり値が大きくなりすぎるとセキュリティ的によくないと思いますので、許容できる範囲がいいのではないかと思います。)

4

情報追加

2016/11/20 16:51

投稿

t33
t33

スコア33

title CHANGED
File without changes
body CHANGED
@@ -103,4 +103,8 @@
103
103
  </script>
104
104
 
105
105
 
106
- ```
106
+ ```
107
+ 【追記2】
108
+ XAMPPを使った環境の場合、GETメソッドで大量にデータを送信するとエラーが出て送信できないことがあります。
109
+ これは「LimitRequestLine」をいじることで回避できます。
110
+ [LimitRequestLineについて](http://www.webmagazine.kakisiti.co.jp/?p=380)

3

まとめを記載

2016/11/20 16:47

投稿

t33
t33

スコア33

title CHANGED
@@ -1,1 +1,1 @@
1
- AjaxでPOSTしたいのですがうまくいきません
1
+ monacaアプリからローカルサーバーに飛ぶ際に、「monacaアプリの変数の値」をローカルサーバーに渡したい
body CHANGED
@@ -1,4 +1,6 @@
1
+ 【質問内容】
2
+ 表題の件を達成したかったのですが調査を進めた結果、変数そのものを渡すことは出来ないということが分かりました。
1
- monacaアプリからローカルサーバーに飛ぶ際に、Ajaxを使用してPOSTで値を渡したいのですがうまくいきません。
3
+ そこで代替案として「Ajaxを使用してPOSTで値を渡したいのですがうまくいきません。
2
4
  初心者で大変申し訳ありませんがご教授頂けないでしょうか。
3
5
  よろしくお願い致します。
4
6
 
@@ -33,4 +35,72 @@
33
35
  【エラー内容】
34
36
  ```ここに言語を入力
35
37
  Notice: Undefined index:test
38
+ ```
39
+
40
+ ___
41
+ 【まとめ】
42
+ 「Ajaxを使用してPOSTで値を渡す」ことは「InAppBrowser」を使用する場合出来ないということが分かりました。
43
+ そこで他の方法として「GETで値を渡す」方法を試したところうまくいきました。
44
+
45
+
46
+ 【monacaアプリのindex.html】
47
+ 2次元配列を「GET」で渡して「ローカルサーバー」に飛ぶ処理
48
+ ```javascript
49
+ //2次元配列の作成
50
+ var sendData = new Array();
51
+ sendData[0] = new Array();
52
+ sendData[1] = new Array();
53
+ sendData[2] = new Array();
54
+
55
+ //2次元配列にテストデータを入れる
56
+ sendData[0][0] = "key0";
57
+ sendData[1][0] = "key1";
58
+ sendData[2][0] = "key2";
59
+
60
+ sendData[0][1] = "a";
61
+ sendData[1][1] = "b";
62
+ sendData[2][1] = "c";
63
+
64
+ //console.log("what is sendData:"+sendData);
65
+
66
+ //配列をJSONオブジェクト化
67
+ var json_obj = JSON.stringify(sendData);
68
+ //console.log("what is json_obj"+json_obj);
69
+
70
+ //ページ遷移
71
+ cordova.InAppBrowser.open( 'http://192.157.13.5/testajax.php?data=' + encodeURIComponent( json_obj ),'clearcache=yes','clearsessioncache=yes' );//ローカルサーバーのtestajax.phpにGETで配列の情報を付けて飛ぶ
72
+
73
+ ```
74
+ 【ローカルサーバーのtestajax.php】
75
+ GETで受け取ったURIからデータを取得し配列に入れる処理。(渡したい値を再設定する処理)
76
+ 「decodeURIComponent」してから「JSON.parse」で配列にしています。
77
+
78
+ ```javascript
79
+ <script type="text/javascript" charset="UTF-8">
80
+
81
+ var decode_obj ="";
82
+ //2次元配列の作成
83
+ var getData = new Array();
84
+ getData[0] = new Array();
85
+ getData[1] = new Array();
86
+ getData[2] = new Array();
87
+
88
+
89
+
90
+ if (1 < window.location.search.length) {
91
+ // 最初の6文字 (?data=) を除いた文字列を取得する
92
+ //monaca index.htmlのencodeURIComponent( json_obj ) と queryが同一文字列となる
93
+
94
+ var query = window.location.search.substring(6);//JSONオブジェクト化した2次元配列をエンコードしたものと同じもの
95
+ //document.write("what is query:"+query+"<br>");
96
+
97
+ decode_obj = decodeURIComponent( query );//JSONオブジェクト化した2次元配列
98
+ //document.write("what is decode_obj:"+decode_obj+"<br>");
99
+
100
+ getData = JSON.parse( decode_obj );//2次元配列
101
+ //document.write("what is getData:"+getData+"<br>");
102
+ }
103
+ </script>
104
+
105
+
36
106
  ```

2

文言修正

2016/11/19 19:07

投稿

t33
t33

スコア33

title CHANGED
File without changes
body CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ・ローカルサーバーはXAMPPを使用しています。
6
6
  ・コンソールに「Ajax_success」と出るのでAjaxは動いているのではないかと思います。。
7
- ・InAppBrowserでWebページに飛びます(APIを想定してはいません)←修正依頼を対応しました。
7
+ ・InAppBrowserでWebページに飛びます(APIを想定してはいません)←修正依頼を対応しました。
8
8
  ___
9
9
  【monacaアプリのindex.html】
10
10
  ```javascript

1

修正依頼の対応

2016/11/18 09:49

投稿

t33
t33

スコア33

title CHANGED
File without changes
body CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ・ローカルサーバーはXAMPPを使用しています。
6
6
  ・コンソールに「Ajax_success」と出るのでAjaxは動いているのではないかと思います。。
7
-
7
+ ・InAppBrowserでWebページに飛びます(APIを想定してはいません)←修正依頼を対応しました。。
8
8
  ___
9
9
  【monacaアプリのindex.html】
10
10
  ```javascript