php - Volley 字符串请求在 Kotlin 中不起作用
问题描述
嗨,伙计们,我已经被这个问题困扰了几个星期了,我希望你能帮我解决这个问题。所以我有一个带数据库的本地服务器(PHPMyadmin + MySQL),我有一个请求,我用 Postman 调用如下 http://localhost/WebApi/v1/?op=addBars 我通过这个请求传递了 4 个值 first_name,Last_name,电子邮件和通行证,它们将保存在数据库中,并且工作正常。但是当我尝试在 Kotlin 中使用 Volley 将数据发送到数据库时:我没有得到任何答案,也没有错误,所以这就是我的 V1.php 的样子
case 'addBars':
if(isset($_POST['Email']) && isset($_POST['Pass']) && isset($_POST['First_Name'])&& isset($_POST['Last_Name'])){
$db = new DbOperation();
if($db->createBars($_POST['Email'], $_POST['Pass'],$_POST['First_Name'], $_POST['Last_Name'])){
$response['error'] = false;
$response['message'] = 'Bars added successfully';
}else{
$response['error'] = true;
$response['message'] = 'Could not add Bars';
}
}else{
$response['error'] = true;
$response['message'] = 'Required Parameters are missing';
}
break;
这也是 DbOperation.php 中创建栏的样子
public function createBars($Email,$Pass,$First_Name,$Last_Name){
$stmt = $this->con->prepare("INSERT INTO Bars (Email, Pass,First_Name,Last_Name) VALUES (?,?,?,?)");
$stmt->bind_param("ssss", $Email, $Pass,$First_Name,$Last_Name);
if($stmt->execute())
return true;
return false;
}
这也是我在 Kotlin 中使用 Volley 请求的方式
val stringRequest = object : StringRequest(Request.Method.POST, EndPoints.URL_ADD_Bars,
Response.Listener { response ->
try {
val obj = (response)
Toast.makeText(applicationContext ,"test "+obj+"" , Toast.LENGTH_SHORT).show()
// Toast.makeText(applicationContext, obj.getString("message"), Toast.LENGTH_LONG).show()
} catch (e: JSONException) {
Toast.makeText(applicationContext, "response,"+response.toString()+"", Toast.LENGTH_LONG).show()
e.printStackTrace()
}
},
object : Response.ErrorListener {
override fun onErrorResponse(volleyError: VolleyError) {
Toast.makeText(applicationContext, "error,"+volleyError.toString()+"", Toast.LENGTH_LONG).show()
}
})
{
@Throws(AuthFailureError::class)
override fun getParams(): Map<String, String> {
val params = HashMap<String, String>()
params.put("Email",Email)
params.put("Pass",Pass)
params.put("First_Name",First_Name)
params.put("Last_Name",Last_Name)
return params
}
}
//adding request to queue
VolleySingleton.instance?.addToRequestQueue(stringRequest)}
这就是我的端点的样子
object EndPoints {
private val URL_ROOT = "https://192.130.180.209/WebApi/v1/?op="
val URL_ADD_Bars = URL_ROOT + "addBars"
val URL_GET_Bars = URL_ROOT + "getBars"
val URL_Bars_info = URL_ROOT + "Bars_info"
val URL_Bars_Listing = URL_ROOT + "Bars_Listing"
val URL_Bars_Listing_name_adress = URL_ROOT + "Bars_Listing_name_adress"
val URL_Bars_info_update_api = URL_ROOT + "Bars_info_update_api"
}
如果你能帮我解决这个问题,我将不胜感激:),我有任何问题,我正在使用 volley:1.1.0 compileSdkVersion 29 buildToolsVersion "29.0.3"
解决方案
嘿伙计们,我解决了我只是在端点中提供了错误的 IP 地址的问题
推荐阅读
- powershell - 如何在 AD 中的所有 OU 中创建安全组
- javascript - 如何检查我的函数内的所有动画是否已结束?
- python - 使用python比较多个文本的相似性
- javascript - 禁用时覆盖 Qselect 中的不透明度
- javascript - 在图像上带来盒子阴影效果
- c - 有没有办法在 C 的 system() 函数中将两个 Linux 命令组合在一起?
- javascript - Google Analytics - 调整后的跳出率没有很多数据
- php - Laravel 中的 Websocket 聊天不是实时的
- python - 如何使用 python 脚本激活集合中的搅拌器对象?
- javascript - .mp4 在 chrome 上播放滞后