【发布时间】:2020-03-23 03:47:34
【问题描述】:
我需要通过retrofit将我的android应用程序中的一些数据插入数据库,其界面部分如下所示:
@FormUrlEncoded
@POST("*****")
Call<model> insertChordReq(@FieldMap Map<String, String> fields);
retrofit 将数据从@POST 注释发送到php 文件。 php代码如下:
<?php
$sN = $_REQUEST['sN'];
$siN = $_REQUEST['siN'];
$soT = $_REQUEST['soT'];
try {
$connection = new PDO("mysql:host=******;dbname=*******", "******", "******");
$connection->exec('set names utf8');
$insertQuery = "INSERT INTO table (sN, siN, soT) VALUES ('$sN', '$siN', '$soT')";
if ($connection->exec($insertQuery)){
echo 'درخواست شما با موفقیت ثبت گردید';
}else{
echo 'error';
}
} catch (PDOException $e) {
echo $e;
}
然后我想在我的应用程序中显示字符串响应 echo 'درخواست شما با موفقیت ثبت گردید'; ;但问题是改造不会将其作为响应返回。相反,我通过onFailure 得到一个错误:
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
我不得不提一下,插入数据库的过程已经成功完成,但我需要得到指定的响应。
有没有办法通过改造得到字符串?
有没有办法把字符串转成json,然后通过改造得到呢?
我已经搜索了 stackOverFlow 中的现有问题。不幸的是,我没有找到确切的解决方案。
【问题讨论】:
标签: php android json string retrofit2