온라인 PHP 스크립트를 읽고 다른 결과를 가진 JSON 배열을 반향하는 Android 앱을 개발 중입니다. 나는 또한 응용 프로그램에서 PHP 스크립트로 POST 변수를 보냈습니다. 웹 사이트에서 스크립트에 게시 할 때 제대로 작동하고 POST 데이터가 있습니다. 앱에서 게시 할 때 POST 데이터가 비어 있습니다.
private JSONArray addBusiness(String businessName, String businessCategory, String businessDescription) {
String result = "";
InputStream is = null;
try {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://somesite.com/testAndroid.php");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
try {
Log.e("log_tag", "INSIDE TRY/CATCH");
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
Log.e("log_tag", "RESULT: " + result);
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
try {
return new JSONArray(result);
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
return null;
}
다음은 비어있는 PHP 코드입니다. 어떤 아이디어? 또한, 나는 GoDaddy와 공유 리눅스는 PHP 5.2
<?php
$return = array();
$return['result'] = 'pooping for the Internet';
$return['business'] = 'BUSINESS';
$return['post'] = $_POST['id'];
echo '['.json_encode($return).']';
?>
다른 모든 $ 리턴 데이터가 '포스트'반환을 제외하고 올바른 실행 호스팅 사용합니다. 생각?
나머지가 나오면 문제는 '$ _POST'에있는 것처럼 보입니다. 게시가 제대로되었는지 확인하십시오. 게시물이 제대로 전달되는지 테스트 해보십시오. – cjds