javascript - 我在将 hashMap String 发送到服务器 php 时遇到问题,而不是在 volly 响应 android 中返回 JsonArray
问题描述
将 hashmap 字符串发送到服务器 php,而不是在 volly android 中返回 JsonArray
CM =$_POST['code_send'];
$db =Db::getInstance();
$records = $db->query ("SELECT * FROM p_users WHERE c_meli='$CM'");
$js = array($records);
echo json_encode($js,JSON_UNESCAPED_UNICODE);
<!-- language: lang-java-->
// 将 hashmap 字符串发送到服务器 php,而不是在 volly android 中返回 JsonArray
private void send_to_php2() {
final JsonArrayRequest jsonObjectRequest = new JsonArrayRequest (Request.Method.POST,
URL_Profile,
new Response.Listener<JSONArray> () {
@Override
public void onResponse(JSONArray response) {
for (int i = 0; i < response.length (); i++) {
try {
JSONObject jsonObject = response.getJSONObject (i);
String name = jsonObject.getString ("l_name");
name_profile.setText (name);
} catch (JSONException e) {
e.printStackTrace ();
}
}
}
}, new Response.ErrorListener () {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> hashMap1 = new HashMap<String, String> ();
hashMap1.put ("code_send", cod_meli);
return hashMap1;
}
};
requestQueue.add (jsonObjectRequest);
}
<!-- end snippet -->
//结束代码段结束代码段结束代码段结束代码段结束代码段结束代码段结束代码段结束代码段结束代码段结束代码段结束代码段结束代码段
解决方案
这是我的课程之一:
RequestQueue requestQueue = BaseActivity.getInstance().getRequestQueue();
String url = UrlManager.getUrl(Urls.LIKE);
StringRequest stringRequest = new StringRequest(
Request.Method.POST,
url,
response -> {
try {
JSONObject responseJSONObject = new JSONObject(response);
if (!responseJSONObject.isNull("status")) {
if (responseJSONObject.getBoolean("status"))
iLikeBookFinishedListener.successLikeBook(responseJSONObject.getBoolean("status"));
else
iLikeBookFinishedListener.failureLikeBook(
BaseActivity
.getContext()
.getResources()
.getString(R.string.try_later)
);
}
} catch (JSONException e) {
e.printStackTrace();
}
},
error -> {
}
) {
@Override
public byte[] getBody() throws AuthFailureError {
HashMap<String, String> params = new HashMap<String, String>();
params.put("book_id", "1");
return new JSONObject(params).toString().getBytes();
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Authenticate authenticate = Authenticate.getAuthenticateInstance();
authenticate.loadAuthenticate();
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", authenticate.getAccessToken());
return headers;
}
@Override
public String getBodyContentType() {
return "application/x-www-form-urlencoded";
}
};
RetryPolicy mRetryPolicy = new DefaultRetryPolicy(
0,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
stringRequest.setRetryPolicy(mRetryPolicy);
requestQueue.add(stringRequest);
如果您需要更多解释,请询问。
推荐阅读
- javascript - 每次测试前酶还原 getEelemenById
- laravel - 如何解决:错误无法加载 FFprobe
- javascript - 在Angular 5中制作饼图
- python - ValueError 在 pytest 中不使用任何参数,装饰器的顺序重要吗?
- python - 加载 EMNIST 字母数据集
- spacemacs - 如何在 spacemacs 中配置 org-mode
- python - 如何使用scrapy跟踪分页
- reactjs - Reactjs:Axios.post 调用从数据库返回数组对象 - 需要映射到其他组件
- java - .txt 文件中的 Java AES 解密仅适用于 IDE
- css - CSS网格坏了