質問編集履歴

5

情報追加

2016/11/20 16:51

投稿

t33
t33

スコア33

test CHANGED
File without changes
test CHANGED
@@ -217,3 +217,7 @@
217
217
  これは「LimitRequestLine」をいじることで回避できます。
218
218
 
219
219
  [LimitRequestLineについて](http://www.webmagazine.kakisiti.co.jp/?p=380)
220
+
221
+ 試しに「LimitRequestLine」の値を100000にしてみましたが、問題なく動作しました。
222
+
223
+ (あまり値が大きくなりすぎるとセキュリティ的によくないと思いますので、許容できる範囲がいいのではないかと思います。)

4

情報追加

2016/11/20 16:51

投稿

t33
t33

スコア33

test CHANGED
File without changes
test CHANGED
@@ -209,3 +209,11 @@
209
209
 
210
210
 
211
211
  ```
212
+
213
+ 【追記2】
214
+
215
+ XAMPPを使った環境の場合、GETメソッドで大量にデータを送信するとエラーが出て送信できないことがあります。
216
+
217
+ これは「LimitRequestLine」をいじることで回避できます。
218
+
219
+ [LimitRequestLineについて](http://www.webmagazine.kakisiti.co.jp/?p=380)

3

まとめを記載

2016/11/20 16:47

投稿

t33
t33

スコア33

test CHANGED
@@ -1 +1 @@
1
- AjaxでPOSTしたいのですがうまくいきません
1
+ monacaアプリからローカルサーバーに飛ぶ際に、「monacaアプリの変数の値」をローカルサーバーに渡したい
test CHANGED
@@ -1,4 +1,8 @@
1
+ 【質問内容】
2
+
3
+ 表題の件を達成したかったのですが調査を進めた結果、変数そのものを渡すことは出来ないということが分かりました。
4
+
1
- monacaアプリからローカルサーバーに飛ぶ際に、Ajaxを使用してPOSTで値を渡したいのですがうまくいきません。
5
+ そこで代替案として「Ajaxを使用してPOSTで値を渡したいのですがうまくいきません。
2
6
 
3
7
  初心者で大変申し訳ありませんがご教授頂けないでしょうか。
4
8
 
@@ -69,3 +73,139 @@
69
73
  Notice: Undefined index:test
70
74
 
71
75
  ```
76
+
77
+
78
+
79
+ ___
80
+
81
+ 【まとめ】
82
+
83
+ 「Ajaxを使用してPOSTで値を渡す」ことは「InAppBrowser」を使用する場合出来ないということが分かりました。
84
+
85
+ そこで他の方法として「GETで値を渡す」方法を試したところうまくいきました。
86
+
87
+
88
+
89
+
90
+
91
+ 【monacaアプリのindex.html】
92
+
93
+ 2次元配列を「GET」で渡して「ローカルサーバー」に飛ぶ処理
94
+
95
+ ```javascript
96
+
97
+ //2次元配列の作成
98
+
99
+ var sendData = new Array();
100
+
101
+ sendData[0] = new Array();
102
+
103
+ sendData[1] = new Array();
104
+
105
+ sendData[2] = new Array();
106
+
107
+
108
+
109
+ //2次元配列にテストデータを入れる
110
+
111
+ sendData[0][0] = "key0";
112
+
113
+ sendData[1][0] = "key1";
114
+
115
+ sendData[2][0] = "key2";
116
+
117
+
118
+
119
+ sendData[0][1] = "a";
120
+
121
+ sendData[1][1] = "b";
122
+
123
+ sendData[2][1] = "c";
124
+
125
+
126
+
127
+ //console.log("what is sendData:"+sendData);
128
+
129
+
130
+
131
+ //配列をJSONオブジェクト化
132
+
133
+ var json_obj = JSON.stringify(sendData);
134
+
135
+ //console.log("what is json_obj"+json_obj);
136
+
137
+
138
+
139
+ //ページ遷移
140
+
141
+ cordova.InAppBrowser.open( 'http://192.157.13.5/testajax.php?data=' + encodeURIComponent( json_obj ),'clearcache=yes','clearsessioncache=yes' );//ローカルサーバーのtestajax.phpにGETで配列の情報を付けて飛ぶ
142
+
143
+
144
+
145
+ ```
146
+
147
+ 【ローカルサーバーのtestajax.php】
148
+
149
+ GETで受け取ったURIからデータを取得し配列に入れる処理。(渡したい値を再設定する処理)
150
+
151
+ 「decodeURIComponent」してから「JSON.parse」で配列にしています。
152
+
153
+
154
+
155
+ ```javascript
156
+
157
+ <script type="text/javascript" charset="UTF-8">
158
+
159
+
160
+
161
+ var decode_obj ="";
162
+
163
+ //2次元配列の作成
164
+
165
+ var getData = new Array();
166
+
167
+ getData[0] = new Array();
168
+
169
+ getData[1] = new Array();
170
+
171
+ getData[2] = new Array();
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+ if (1 < window.location.search.length) {
180
+
181
+ // 最初の6文字 (?data=) を除いた文字列を取得する
182
+
183
+ //monaca index.htmlのencodeURIComponent( json_obj ) と queryが同一文字列となる
184
+
185
+
186
+
187
+ var query = window.location.search.substring(6);//JSONオブジェクト化した2次元配列をエンコードしたものと同じもの
188
+
189
+ //document.write("what is query:"+query+"<br>");
190
+
191
+
192
+
193
+ decode_obj = decodeURIComponent( query );//JSONオブジェクト化した2次元配列
194
+
195
+ //document.write("what is decode_obj:"+decode_obj+"<br>");
196
+
197
+
198
+
199
+ getData = JSON.parse( decode_obj );//2次元配列
200
+
201
+ //document.write("what is getData:"+getData+"<br>");
202
+
203
+ }
204
+
205
+ </script>
206
+
207
+
208
+
209
+
210
+
211
+ ```

2

文言修正

2016/11/19 19:07

投稿

t33
t33

スコア33

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ・コンソールに「Ajax_success」と出るのでAjaxは動いているのではないかと思います。。
12
12
 
13
- ・InAppBrowserでWebページに飛びます(APIを想定してはいません)←修正依頼を対応しました。
13
+ ・InAppBrowserでWebページに飛びます(APIを想定してはいません)←修正依頼を対応しました。
14
14
 
15
15
  ___
16
16
 

1

修正依頼の対応

2016/11/18 09:49

投稿

t33
t33

スコア33

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ・コンソールに「Ajax_success」と出るのでAjaxは動いているのではないかと思います。。
12
12
 
13
-
13
+ ・InAppBrowserでWebページに飛びます(APIを想定してはいません)←修正依頼を対応しました。。
14
14
 
15
15
  ___
16
16