【发布时间】:2015-08-03 08:00:32
【问题描述】:
我正在尝试将值发布到在本地服务器上运行的脚本。我的代码如下:
final String data = "poet=nazmul";
//Toast.makeText(getApplicationContext(), "ok", Toast.LENGTH_LONG).show();
StringRequest request = new StringRequest(Request.Method.POST, "http://192.168.1.112:8080/api/post.php?" + data, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(getApplicationContext(), volleyError.toString(), Toast.LENGTH_LONG).show();
}
});
AppController.getInstance().addToRequestQueue(request);
但是本地服务器没有响应。我的php代码是:
<?php
$poet = $_POST['poet'];
echo json_encode(array('poet'=>$poet));
?>
当我直接在网络浏览器中打开 URL 时,我收到此错误:
注意:未定义索引:poet in C:\xampp\htdocs\api\post.php 上线 2 {"诗人":null}
我该如何解决这个问题? 主要问题是 Windows 防火墙,它阻止我连接到本地服务器,在禁用它并将 php 代码 $_POST 更改为 $_GET 后,一切似乎都正常。谢谢大家的帮助。
【问题讨论】:
-
不,我正在使用真实设备进行尝试
-
这可能是个愚蠢的问题,但您能否打开浏览器访问该 URL 并获得您期望的 JSON 响应?
-
首先您可以使用网络浏览器来测试您的网址
-
当我在我的电脑浏览器中发布网址时:此输出出现注意:未定义索引:第 2 行 C:\xampp\htdocs\api\post.php 中的诗人 {"poet":null}
-
你的意思是你的手机连接了电脑,你想和电脑上的php脚本通信?
标签: php android web-services localhost android-volley