在 android 中,当我发布 http 帖子时,我使用以下代码创建 url 参数:
我想在 http 请求中发送一个字符串和两个字符串列表。但是在 php 代码中,我无法验证是否所有参数都存在。在下面的代码中,我希望 php if 语句为真,但它是假的。有谁知道这里有什么问题?
我从这里的答案中看到 如何在 php 中遍历一组 GET 值,您可以将参数的名称放在方括号中,然后在 php 中它将是一个数组。
谢谢。
List<NameValuePair> urlValues = new ArrayList<NameValuePair>();
urlValues.add(new BasicNameValuePair("id", ID));
for(MyLocation item : THlocationList) {
urlValues.add(new BasicNameValuePair("THlocationList[]", item.ID));
urlValues.add(new BasicNameValuePair("THlocationList[]", item.location));
urlValues.add(new BasicNameValuePair("THlocationList[]", item.date));
}
for(String item : deletionList ) {
urlValues.add(new BasicNameValuePair("deletionList[]", item));
}
然后我使用这个提出请求:
public static Pair<String,Integer> GetHTTPResponse(String url, List<NameValuePair> urlparameters) {
String result = null;
int responseCode = 0;
try {
HttpClient client = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
httppost.setEntity(new UrlEncodedFormEntity(urlparameters));
HttpResponse response = client.execute(httppost);
responseCode = response.getStatusLine().getStatusCode();
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
result = rd.readLine().trim();
}
catch (Exception e) {
responseCode = 0;
}
return new Pair<String, Integer>(result, responseCode);
}
在我的 php 代码中,由于某种原因,这被评估为 false:
if (isset($_POST['id']) && isset($_POST['THlocationList']) && isset($_POST['deletionList'])) {
...
}